开发者社区> 余二五> 正文

java中Set,Map,Stack一些简单用法

简介:
+关注继续查看
import java.util.Iterator;
import java.util.Stack;
import java.io.*;
import java.util.Set;
import java.util.Map;
import java.util.HashMap;
import java.util.TreeSet;
public class StackUsing{
   public static void main(String args[]) throws IOException{
      Stack<Integer> s = new Stack<Integer>();
      int i;
      for(i=0; i<10; ++i)
         s.push(i); 
   
      //it.hasNext()如果还有元素可以继续进行迭代,返回true! it.next()返回当前迭代器所指向的元素,并指向下一个迭代的对象
      for(Iterator<Integer>it = s.iterator(); it.hasNext(); ){//从栈底开始打印
         System.out.println(it.next());
      }
   
      for(Integer k:s){
           System.out.println(k);
      }
    
      while(!s.empty()){//从栈顶开始打印
         System.out.println(s.pop());
      }

     Set<Integer> st = new TreeSet<Integer>();
     for(i=0; i<10; ++i)
        st.add(i);
     for(Integer k: st){//可以这样遍历一个集合对象
        System.out.println(k);
     }
     
     for(Iterator<Integer>it = st.iterator(); it.hasNext(); ){//也可以这样遍历一个集合对象
         System.out.println(it.next());
     }

     Set<myInteger> stp = new TreeSet<myInteger>();//实验一下自己定义的类的集合
     for(i=0; i<10; ++i)
       stp.add(new myInteger(i, i*2)); 
    
     for(myInteger x:stp){
        System.out.println(x.first + " " + x.second);
     }

     Map<String, Integer>mp = new HashMap<String, Integer>();
     String str;
     BufferedReader myInput = new BufferedReader(new InputStreamReader(System.in));

     str=myInput.readLine();
     while(str.compareTo("#")!=0){
         Integer cnt=mp.get(str);
         if(cnt==null)
            cnt=new Integer(0);
         ++cnt;
         mp.put(str, cnt);
         str=myInput.readLine();
     }
     
     ///3种遍历Map的方式
     for(String ss : mp.keySet()){
        System.out.println(ss + " " + mp.get(ss));
     }
     System.out.println("**********************");
     
     //静态内部类是属于类的,不是属于某一个实例的;静态内部类随着类加载而加载,非静态内部类是随着实例的加载而加载
     for(Map.Entry<String, Integer>entry : mp.entrySet()){//返回此映射中包含的映射关系的 set 视图。返回的 set 中的每个元素都是一个 Map.Entry
        System.out.println(entry.getKey() + " " + entry.getValue());
     }
     System.out.println("**********************");

     for(Iterator<Map.Entry<String, Integer> > it = mp.entrySet().iterator(); it.hasNext(); ){
         Map.Entry<String, Integer>entry=it.next();
         System.out.println(entry.getKey() + " " + entry.getValue());
     }
   }
}

class myInteger implements Comparable{
    int first;
    int second;
    public myInteger(int a, int b){
         first=a;
         second=b;
    }
    public myInteger(){
        first=0;
        second=0;
    }
    public int compareTo(Object x){
        if(first>((myInteger)x).first) return -1;//在这里实现的是从大到小排序
        else if(first==((myInteger)x).first) return 0;
        else return 1;
    }
}









本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/3788442.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Java SE】数组常见问题及技巧用法
【Java SE】数组常见问题及技巧用法
30 0
【Java用法】Boolean.parseBoolean(string);
Boolean.parseBoolean(string); String类型转boolean类型的一个方法 当String的值为“true”时返回true,(此处true值是忽略大小写的) 当为其他字符串时返回false。
23 0
Java中BufferedImage的用法,如何读取保存一个图片
Java中BufferedImage的用法,如何读取保存一个图片
70 0
java泛型的用法和详细的解释
java泛型的用法和详细的解释
32 0
java中final修饰符,修饰变量、方法、类的详细用法
java中final修饰符,修饰变量、方法、类的详细用法
34 0
浅谈java中static关键字修饰的几种用法
浅谈java中static关键字修饰的几种用法
55 0
简述java三大特性中的封装的概念及用法
简述java三大特性中的封装的概念及用法
34 0
Java的比较器Comparable和Comparator用法
Java的比较器Comparable和Comparator用法
29 0
Mybatis 标签的骚操作用法,你都知道哪些?|Java 开发实战
有时候新增一条数据,需要这条新增数据的主键,以便使用,如果采用先插入再查询的方式明显不符合要求,效率也变低了。 这时候,可以使用<selectKey>标签,将insert的数据的主键返回,直接拿到新增数据的主键,以便后续使用。
35 0
Java基础:static的理解(含义、用法及静态修饰的优先顺序)
Java基础:static的理解(含义、用法及静态修饰的优先顺序)
23 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载
Java单元测试实战
立即下载