⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java_util_package.txt

📁 java面试题-外企软件工程师面试题大全,欢迎想到外企工作的人作为参考
💻 TXT
字号:
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差不多 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -