|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
Collection RetainAll :保留两个Collection的交集。注重,假如该Collection是由Arrays.asList转变而来,那么这个方式会失败。因为转变来的List接口不支持这个方式 Samples: public static void collectionTest() { Collection c1 = new ArrayList(); Collection c2 = new ArrayList(); c1.add("aaa"); c1.add("bbb"); c1.add("ccc"); c2.add("ddd"); c2.add("ccc"); c2.add("eee"); boolean isRetainSucceed = false; isRetainSucceed = c2.retainAll(c1); System.out.println("isRetainSucceed = " + isRetainSucceed); System.out.println("********** print collection c2 values "); for (Iterator iter = c2.iterator(); iter.hasNext();) { String s = (String) iter.next(); System.out.println("s = " + s); } } Enumeration 太简朴,参考文档 Comparator 未使用过 EventListener 空接口 Iterator 和Enumeration 的不同点: 1. 答应遍历Collection时删除对象 2. 方式名字可读性更好 List 实现的四个类:AbstractList, ArrayList, LinkedList, Vector List 特点: 1. 答应重复元素,答应null元素 2. 推荐用Iterator遍历,而不是用索引 addAll : 加入Collection containsAll :是否包含Collection retainAll : 保留和Collection的交集 subList : 返回指定索引区间的子List ListIterator : 1. 提供元素的双向遍历,而不是单向 2. 遍历时可改变存储的元素 3. 可动态插入元素,插入的元素在当前操作元素的上一个位置 Samples: public static void ListTest(){ System.out.println("**********ListTest begin:"); List list = new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); ListIterator iter = list.listIterator(); System.out.println("**************** Iterating List forward :"); while(iter.hasNext()){ String s = (String)iter.next(); System.out.println("**********element = " + s); } System.out.println("**************** Iterating List backward :"); while(iter.hasPrevious()){ String s = (String)iter.previous(); System.out.println("**********element = " + s); } System.out.println("**************** Add element into List :"); while(iter.hasNext()){ int i = iter.nextIndex(); if (i==2) iter.add("ddd"); String s = (String)iter.next(); System.out.println("**********element = " + s); } System.out.println("**************** Iterating List backward after add element:"); while(iter.hasPrevious()){ String s = (String)iter.previous(); System.out.println("**********element = " + s); } System.out.println("**********ListTest end:"); } Map KeySet : 返回Set对象,然后可以遍历这个Set。其中的每个元素都是Map.Entry对象 Map.Entry.setValue : 在遍历Entry对象时,可以改变该Key对应的Value值 Samples: public static void mapEntrySetTest(){ System.out.println("**********mapEntrySetTest begin:"); Map map = new HashMap(); map.put("first","aaa"); map.put("second","bbb"); map.put("third","ccc"); map.put("fourth","ddd"); Set set = map.entrySet(); Map.Entry entry = null; System.out.println("********** print values in map :"); for(Iterator iter = set.iterator();iter.hasNext();){ entry = (Map.Entry)iter.next(); System.out.println("Key is :" + entry.getKey() + " and Value is :" + entry.getValue()); entry.setValue((String)entry.getValue() + "_setValueTest"); } System.out.println("********** After set value ,iterating values in map :"); for(Iterator iter = set.iterator();iter.hasNext();){ entry = (Map.Entry)iter.next(); System.out.println("Key is :" + entry.getKey() + " and Value is :" + entry.getValue()); } System.out.println("**********mapEntrySetTest end:"); } Observable and Observer 暂未使用 RandomAccess 空接口。实现这个接口的List实现品,表示他们支持高速的随机访问元素。假如实现这个接口,理论上 for (int i=0, n=list.size(); i < n; i++) list.get(i); 比下面代码要快: for (Iterator i=list.iterator(); i.hasNext(); ) i.next(); Set : 没什么特殊的,和Collection差不多 返回类别: 教程 上一教程: java迈步从头越(java环境配置) 下一教程: Spring AOP之ThrowsAdvice 您可以阅读与"Java_util_package"相关的教程: · java_util_test · 使用java.util.Calendar返回间隔天数 · Java源码解读之util.ArrayList · Java之util类 · java.util包学习笔记一 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |