服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java_util_package


  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差不多

扫描关注微信公众号