标签:
/**
* 遍历list的方法
* @param args
*/
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("111");
list.add("222");
list.add("333");
list.add("222");
list.add("444");
// 1. for循环
// 1.1 索引值 i 递增
// 优点:可以获取索引值
System.out.println("=======1.for循环:1.1 索引值 i 递增======");
for (int i = 0; i < list.size(); i++)
{
System.out.println(list.get(i));
}
// 1.2 索引值 i 递减
// 优点:可以获取索引值;可以删除元素
System.out.println("=======1.for循环:1.2 索引值 i 递减======");
for (int i = list.size() -1; i >= 0; i--)
{
System.out.println(list.get(i));
if ("444".equals(list.get(i)))
{
list.remove(i);
}
}
// 2. 增强for循环
// 缺点:不能获取索引值,也不能删除元素
System.out.println("=======2.增强for循环======");
for (String str : list)
{
System.out.println(str);
}
// 3. 迭代器 (原理:生成一个链表,链表的一个节点保存信息,节点的数据部分保存list的元素地址,通过指针实现链表的遍历,从而实现list的遍历。)
// 优点:可以删除元素
// 缺点:不可以获取索引值
System.out.println("=======3.迭代器======");
Iterator<String> itr = list.iterator();
System.out.println("删除了如下的元素:");
while (itr.hasNext())
{
// 一次判断hasNext(),一次next()
String str = itr.next();
if ("222".equals(str))
{
System.out.println(str);
itr.remove();
}
}
System.out.println("打印list最后剩下的元素:");
Iterator<String> itr2 = list.iterator();
for ( ; itr2.hasNext(); )
{
System.out.println(itr2.next());
}
}
运行结果:
=======1.for循环:1.1 索引值 i 递增======
111
222
333
222
444
=======1.for循环:1.2 索引值 i 递减======
444
222
333
222
111
=======2.增强for循环======
111
222
333
222
=======3.迭代器======
删除了如下的元素:
222
222
打印list最后剩下的元素:
111
333
标签:
原文地址:http://www.cnblogs.com/shouce/p/5189874.html