- 直接输出list对象
ps:此种情况仅限于添加到集合中的对象是java已有类的实例对象。
java已有类,代码如下:
List<Object> list = new ArrayList<>();
Date date1 = new Date();
Date date2 = new Date();
String s1 = new String("abc");
List<String> list1 = new ArrayList<>();
list1.add("123");
list1.add("456");
list.add(date1);
list.add(date2);
list.add(s1);
list.add(list1);
System.out.println(list);
输出结果如下:
自定义类,代码如下:
Person p1 = new Person("张三");
Person p2 = new Person("张三 ");
List<Person> list = new ArrayList<>();
list.add(p1);
list.add(p2);
System.out.println(list);
输出结果如下:
- 通过for循环遍历
代码如下:
List<Object> list = new ArrayList<>();
Date date1 = new Date();
Date date2 = new Date();
String s1 = new String("abc");
List<String> list1 = new ArrayList<>();
list1.add("123");
list1.add("456");
list.add(date1);
list.add(date2);
list.add(s1);
list.add(list1);
for (int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
结果如下:
- 通过新型for循环遍历
代码如下:
List<Object> list = new ArrayList<>();
Date date1 = new Date();
Date date2 = new Date();
String s1 = new String("abc");
List<String> list1 = new ArrayList<>();
list1.add("123");
list1.add("456");
list.add(date1);
list.add(date2);
list.add(s1);
list.add(list1);
for (Object o:list){
System.out.println(o);
}
结果如下:
- 通过迭代器遍历
ps:迭代器遍历集合元素遵循的过程:问,取,删
代码如下:
List<Object> list = new ArrayList<>();
Date date1 = new Date();
Date date2 = new Date();
String s1 = new String("abc");
List<String> list1 = new ArrayList<>();
list1.add("123");
list1.add("456");
list.add(date1);
list.add(date2);
list.add(s1);
list.add(list1);
Iterator iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
结果如下:
for,foreach、Iteractor三种遍历方式的区别:
1. for比较适合实现可预知大小的集合或数组的遍历
2. foreach适合集合或数组大小未知的情况。foreach需要事先知道集合或数组类型。
3. Iterator适合集合大小未知的情况,不需要事先知道集合类型。(Iterator只能遍历集合)
4. 总之,Iterator相比于for、foreach功能更加强大,他可以随时修改或者删除集合内部的元素,并且是在不需要知道元素和集合的类 型的情况下进行的,当你需要对不同的容器实现同样的遍历方式时,迭代器是最好的选择!
以上示例以list为例,Set是一样实现的,实现过程省略。