java中Set,Map,Stack一些简单用法
2014-06-14 17:21
337 查看
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; } }
相关文章推荐
- ASP.net 中Queue,Stack,Hashtable,Sortlist一些简单用法
- 一些简单网络命令用法
- Oracle开发的一些简单的用法
- @简单脚本测试--date的一些用法@
- valarray的一些简单用法
- Map的简单用法入门
- oracle 数据库一些单行函数的简单用法
- 黑马程序员------html一些简单的用法之二
- 一些简单正则表达式的用法
- pdo的一些简单用法
- List中FindAll用法的一些简单示例并与where的区别
- Oracle开发的一些简单的用法
- GCC GDB OBJDUMP 一些简单用法
- STL中map、vector的iterator的简单用法
- Linq一些简单的用法
- 记录一些简单实用的vim用法
- 发邮件 上传图像 JS中的EVENT GRIDVIEW的简单应用 JS中一些寻找控件的用法
- Substring 的一些简单用法
- TinyXML是的一些简单说明与用法
- UITableView和UITableViewCell的一些简单用法