Iterator迭代器
Iterator为容器提供了一种通用的遍历接口。
其常用方法有:next(),hasNext(),remove()
- next():用于获取Iterator对象的值
- hasNext():检测是否有下一个节点
遍历List:
for(Iterator<String> iter = l1.iterator();iter.hasNext(); ) {
String temp = iter.next();
System.out.println(temp);
}
遍历Set:
for(Iterator<String> iter = s1.iterator();iter.hasNext(); ) {
String temp = iter.next();
System.out.println(temp);
}
遍历Map(两种方法):
//第一种遍历方式,获取键值对
Set<Entry<String,String>> ss = m1.entrySet();
for(Iterator<Entry<String,String>> iter = ss.iterator();iter.hasNext(); ) {
Entry<String,String> temp = iter.next();
System.out.println(temp.getKey()+"--"+temp.getValue());
}
//第二种遍历Map的方式,获取键Key
Set<String> keySet = m1.keySet();
for(Iterator<String> iter = keySet.iterator();iter.hasNext(); ) {
String temp = iter.next();
System.out.println(temp+"--"+m1.get(temp));
}
遍历方法汇总:
List:
//方法一:普通for循环
for(int i=0;i<list.size();i++){//list为集合的对象名
String temp = (String)list.get(i);
System.out.println(temp);
}
//方法二:增强for循环(使用泛型!)
for (String temp : list) {
System.out.println(temp);
}
//方法三:使用Iterator迭代器(1)
for(Iterator iter= list.iterator();iter.hasNext();){
String temp = (String)iter.next();
System.out.println(temp);
}
//方法四:使用Iterator迭代器(2)
Iterator iter =list.iterator();
while(iter.hasNext()){
Object obj = iter.next();
iter.remove();//如果要遍历时,删除集合中的元素,建议使用这种方式!
System.out.println(obj);
}
Set:
//方法一:增强for循环
for(String temp:set){
System.out.println(temp);
}
方法二:使用Iterator迭代器
for(Iterator iter = set.iterator();iter.hasNext();){
String temp = (String)iter.next();
System.out.println(temp);
}
Map:
//方法一:根据key获取value
Map<Integer, Man> maps = new HashMap<Integer, Man>();
Set<Integer> keySet = maps.keySet();
for(Integer id : keySet){
System.out.println(maps.get(id).name);
}
//方法二:使用entrySet
Set<Entry<Integer, Man>> ss = maps.entrySet();
for (Iterator iterator = ss.iterator(); iterator.hasNext();) {
Entry e = (Entry) iterator.next();
System.out.println(e.getKey()+"--"+e.getValue());
Collections工具类
注意区分Collection和Collections!!!
类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。
- void sort(List) //对List容器内的元素排序,排序的规则是按照升序进行排序。若要按照自定义的方式排序使用comparable接口
- void shuffle(List) //对List容器内的元素进行随机排列。
- void reverse(List) //对List容器内的元素进行逆续排列 。
- void fill(List, Object) //用一个特定的对象重写整个List容器。void fill(List, Object) //用一个特定的对象重写整个List容器。
- int binarySearch(List, Object)//对于顺序的List容器,采用折半查找的方法查找特定对象。int binarySearch(List, Object)//对于顺序的List容器,采用折半查找的方法查找特定对象。