List的遍历和删除元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List的遍历和删除元素相关的知识,希望对你有一定的参考价值。
/** * 遍历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
以上是关于List的遍历和删除元素的主要内容,如果未能解决你的问题,请参考以下文章