ArrayList:
1.普通for
2.增强for
3.迭代器
4.lambda表达式
public static void main(String[] args) {
// 循环遍历List的4中方法
List<String> strList = new ArrayList<>();
strList.add("aaa");
strList.add("bbb");
strList.add("ccc");
// 1. 普通遍历方式
for (int i = 0; i < strList.size(); i++) {
System.out.println(strList.get(i));
}
// 2.增强的for循环
for (String str : strList) {
System.out.println(str);
}
// 3. 使用Iterator迭代器
Iterator<String> it = strList.iterator();
while (it.hasNext()) {
String str = (String) it.next();
System.out.println(str);
}
// 4. java8 Lambda方式
// strList.forEach(System.out::println);//和下面的写法等价
strList.forEach(str -> {
System.out.println(str);
});
}
LinkedList:
1.普通for
2.增强for
3.迭代器
4、lambda表达式
public class Test {
public static void main(String[] args) {
//method1();
LinkedList<String> linkedList=new LinkedList<>();
linkedList.add("aaaa");
linkedList.add("bbbb");
linkedList.add("cccc");
linkedList.add("dddd");
//普通for
for (int i = 0; i < linkedList.size(); i++) {
System.out.println(linkedList.get(i));
}
System.out.println("---------");
//增强for
for (String s : linkedList) {
System.out.println(s);
}
System.out.println("----------");
//迭代器
Iterator<String> it = linkedList.iterator();
while (it.hasNext()) {
String next = it.next();
System.out.println(next);
}
//lambda表达式
System.out.println("---------");
linkedList.forEach(s -> System.out.println(s));
}
HashSet:
1.增强for
2.迭代器
3.lambda表达式
public class Test {
public static void main(String[] args) {
//method1();
//method2();
HashSet<String> hh=new HashSet<>();
hh.add("111");
hh.add("222");
hh.add("333");
hh.add("444");
//Set没有索引,所以没有普通for
//增强for
for (String s : hh) {
System.out.println(s);
}
System.out.println("--------");
//迭代器
Iterator<String> it = hh.iterator();
while (it.hasNext()) {
String next = it.next();
System.out.println(next);
}
System.out.println("---------");
//lambda表达式
hh.forEach(s->
System.out.println(s));
}
TreeSet:
1、迭代器
2、增强for
3、lambda表达式
public class Test {
public static void main(String[] args) {
//method1();
//method2();
TreeSet<String> ts=new TreeSet<>();
ts.add("111");
ts.add("222");
ts.add("333");
ts.add("444");
//Set没有索引,所以没有普通for
//增强for
for (String s : ts) {
System.out.println(s);
}
System.out.println("--------");
//迭代器
Iterator<String> it = ts.iterator();
while (it.hasNext()) {
String next = it.next();
System.out.println(next);
}
System.out.println("---------");
//lambda表达式
ts.forEach(s->
System.out.println(s));
}
HashMap:
1、KeySet
2.EntrySet
3.迭代器
4.增强for
5.lambda表达式
public class Test01 {
public static void main(String[] args) {
HashMap<String,Integer> hm=new HashMap<>();
hm.put("zhangsan",23);
hm.put("lisi",24);
hm.put("wangwu",25);
hm.put("wangwu",25);
hm.put("wangwu",25);
//同键,用put表示替换
//keySet获得所有的键
Set<String> keys = hm.keySet();
for (String key : keys) {
Integer value = hm.get(key);
System.out.println("姓名:"+key+"年龄:"+value);
}
System.out.println("--------");
//entrySet获得entry对象,即键值对对象
Set<Map.Entry<String, Integer>> entries = hm.entrySet();
for (Map.Entry<String, Integer> entry : entries) {
System.out.println(entry);//HashMap自带toString自动调用
}
TreeMap:
1、KeySet
2.EntrySet
3.迭代器
4.增强for
5.lambda表达式