遍历集合的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 运行效果图
「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。
笔记包含从浅入深的六大部分:
A-Java入门阶段
B-数据库从入门到精通
C-手刃移动前端和Web前端
D-J2EE从了解到实战
E-Java高级框架精解
F-Linux和Hadoop