认识集合:
和数组一样是一个容器,用来存储数据的容器,不同于数组的是。容器的长度可以自动增长。
List的遍历:
此处以ArrayList为例演示
List<String> names = new ArrayList<String>();
names.add("tom");
names.add("tpm");
names.add("tam");
//1,传统for循环
for(int i=0;i<3;i++) {
String name=names.get(i);
System.out.println(name);
}
//2,加强for循环
for(String nam:names) {
System.out.println(nam);
}
//3,通过迭代器遍历
Iterator<String>iterator = names.iterator();
while(iterator.hasNext()) {
String value = iterator.next();
System.out.println(value);
}
Set的遍历:
Set集合中没有get方法,不能用传统的for循环遍历。此处用HashSet为例进行演示:
Set<Integer> scores = new HashSet<Integer>();
scores.add(1);
scores.add(2);
//1、加强for循环
for (Integer score : scores) {
System.out.println(score);
}
//2、迭代器遍历
Iterator<Integer> iterator =scores.iterator();
while(iterator.hasNext()) {
int score=iterator.next();
System.out.println(score);
}
Map的遍历
此处以HashMap为例演示
Map<String,Integer>scores= new HashMap<String,Integer>();
scores.put("tom", 100);
scores.put("jim", 70);
//1、将Map集合中的每一个key-value转换成一个Entry对象并保存在Set集合
Set <Entry<String,Integer>> set = scores.entrySet();
for (Entry<String, Integer> entry : set) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
//2、将Map集合中的key收集到Set集合
Set<String> keys= scores.keySet();
for (String key : keys) {
System.out.println(key);
}
//3、通过Map.entrySet使用iterator遍历key和value
Iterator<Map.Entry<String, Integer>> iterator =scores.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println(entry.getKey() + "\t"+entry.getValue());
}
备注:1、所有的引包工作都可以通过ctrl+shift+o完成。
2、JDK提供的集合API都包含在 java.util 包内。