遍歷集合的N種方式總結
【示例1】遍歷List方法1,使用普通for循環
for(int?i=0;i<list.size();i++){?????????//list為集合的對象名
??? String temp = (String)list.get(i);
??? System.out.println(temp);
}
【示例2】遍歷List方法2,使用增強for循環(使用泛型定義類型!)
for?(String?? temp : list) {
??? System.out.println(temp);
}
【示例3】遍歷List方法3,使用Iterator迭代器一
for(Iterator iter= list.iterator();iter.hasNext();){
??? String temp = (String)iter.next();
??? System.out.println(temp);
}
【示例4】遍歷List方法4,使用Iterator迭代器二
Iterator? iter = c.iterator();
while(iter.hasNext()){
Object? obj ? =? iter.next();
??? iter.remove();??????//如果要遍歷時,刪除集合中的元素,建議使用這種方式!
System.out.println(obj);
}
【示例5】遍歷Set方法1
for(String?? temp:set){
??? System.out.println(temp);
}
【示例6】遍歷Set方法2,使用Iterator迭代器
for(Iterator iter = set.iterator();iter.hasNext();){
??? String temp = (String)iter.next();
??? System.out.println(temp);
}
【示例7】遍歷Map方法1,根據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);
}
【示例8】遍歷Map方法2,使用entrySet方法遍歷
Set<Entry<Integer, ? String>>? ss =?map.entrySet();
for?(Iterator iterator = ss.iterator(); ? iterator.hasNext();) {
??? Entry e = (Entry) iterator.next();
??? System.out.println(e.getKey()+"--"+e.getValue()); ?
}
Collections工具類
類java.util.Collections?提供了對Set、List、Map進行排序、填充、查找元素的輔助方法。
void sort(List)? //對List容器內的元素排序,排序的規則是按照升序進行排序。
void shuffle(List) //對List容器內的元素進行隨機排列。
void reverse(List) //對List容器內的元素進行逆續排列?。
void fill(List, Object) ?//用一個特定的對象重寫整個List容器。
int binarySearch(List, Object)//對于順序的List容器,采用折半查找的方法查找特定對象。
【示例9】Collections工具類的常用方法
public?class?? Test {
????public?static?void?? main(String[] args) {
?????? List<String> aList =?new?ArrayList<String>();
???????for?(int?i ? = 0; i < 5; i++){
?????????? aList.add("a"?+ ? i);
?????? }
?????? System.out.println(aList);
?????? Collections.shuffle(aList);?// ??隨機排列
?????? System.out.println(aList);
?????? Collections.reverse(aList);?// ??逆續
?????? System.out.println(aList);
?????? Collections.sort(aList);?// ??排序
?????? System.out.println(aList);
?????? System.out.println(Collections.binarySearch(aList, ??"a2"));
?????? Collections.fill(aList,?"hello");
?????? System.out.println(aList);
??? }
}
示例9 運行效果圖