1、首先创建一个List集合,并向其中添加数据
1 List list = newArrayList(); 2 3 list.add("1"); 4 5 list.add("2"); 6 7 list.add("3"); 8 9 list.add("2");//可添加重复数据
2、对集合进行遍历
方法一:
1 for(Iterator iterator = list.iterator(); iterator.hasNext();) 2 { 3 String value = iterator.next(); 4 System.out.println(value); 5 }
方法二:
1 fot(String value:list) 2 { 3 System.out.println(value); 4 }
方法三:
1 for(i=0;i<list.size();i++) 2 { 3 System.out.println(list.get(i)); 4 }
三种遍历的比较分析:
方法一遍历:
执行过程中会进行数据锁定, 性能稍差, 同时,如果你想在循环过程中去掉某个元素,只能调用it.remove方法。
方法二遍历:
内部调用第一种
方法三遍历:
内部不锁定, 效率最高, 但是当写多线程时要考虑并发操作的问题
List接口的两种主要实现类ArrayList和LinkedList都可以采用这样的方法遍历
关于ArrayList与LinkedList的比较分析
a) ArrayList底层采用数组实现,LinkedList底层采用双向链表实现。
b) 当执行插入或者删除操作时,采用LinkedList比较好。
c) 当执行搜索操作时,采用ArrayList比较好。
总结:ArrayList原理就是数据结构中的顺序存储,LinkedList原理就是链式存储