list集合的遍历3种方法:

来源:互联网 发布:C语言可以开发哪些软件 编辑:程序博客网 时间:2024/05/18 18:18

package com.sort;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * list的三种遍历
 * @author Owner
 *
 */
public class ListTest {

 public static void main(String[] args) {
  
  List<String> list = new ArrayList<String>();
  
  list.add("a");
  list.add("b");
  list.add("c");
  list.add("c");//可添加重复数据
  
  //遍历方法一
  for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
   String value = iterator.next();
   
   System.out.println(value);
  }
  
  //遍历方法二
  for(String value : list){
   System.out.println(value);
  }
  
  //遍历方法三
  for(int i=0;i<list.size();i++){
   System.out.println(list.get(i));
  }
  
 }
}

 

 

三种遍历的比较分析:


方法一遍历:

执行过程中会进行数据锁定,    性能稍差,    同时,如果你想在循环过程中去掉某个元素,只能调用it.remove方法。   


方法二遍历:

内部调用第一种


方法三遍历:

内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题


List接口的两种主要实现类ArrayList和LinkedList都可以采用这样的方法遍历


关于ArrayList与LinkedList的比较分析
a) ArrayList底层采用数组实现,LinkedList底层采用双向链表实现。
b) 当执行插入或者删除操作时,采用LinkedList比较好。
c) 当执行搜索操作时,采用ArrayList比较好。


<span style="font-size:18px;color:#3366ff;"><strong>说白了,就是数据结构中的顺序存储和链式存储</strong></span>

 

 

0 0
原创粉丝点击