浅谈List容器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈List容器相关的知识,希望对你有一定的参考价值。

List容器


从根源来说Set、List、Queue这三个接口都继承于Collection接口,Set为数据集,List为列表,Queue为队列

下面,我们来说一说List

List的实现包括ArrayList、LinkedList、Vector,我们主要说一说前两者,因为第三个我还没接触到(~ ̄▽ ̄)~ 

1、ArrayList

  本质是一个自动扩展的数组,有序、可重复、可以为null

  ArrayList是一个容器和数组并没有什么样的不同,不同点在于数据出去的多样化(三种):普通for、增强for、使用迭代器

  比如:

 1 //先定义一个ArrayList容器
 2 ArrayList<String> arr = new ArrayList<String>();
 3 
 4 //向里面添加数据
 5 arr.add("第一个数据");
 6 arr.add("第二个数据");
 7 arr.add("第三个数据");
 8 arr.add("第四个数据");
 9 
10 //下面我们进行遍历
11 
12 //1、普通的for
13 for(int i = 0;i < arr.size();i ++){
14      System.out.println(arr.get(i));
15 }
16 
17 //2、增强for
18 for(String array : arr){
19   System.out.println(array);  
20 }
21 
22 //3、使用迭代器
23 Iterator<String> iterator = arr.iterator();
24 while(iterator.hasNext()){
25   System.out.println(iterator.next());  
26 }

2、LinkedList

  LinkedList本质是双向链表,无序,不可重复,不能为null

  LinkedList和ArrayList的遍历方式是一样的,但是由于底层结构的不同(ArrayList为数组,LinkedList为双向链表),导致了两者的特点不同,LinkedList插入删除方便,随机访问慢, 而ArrayList正相反。

  另外Link的添加变为push,除此之外,两者应该没有不同了。

 

 

java初学者,有什么错误多多指教。

以上是关于浅谈List容器的主要内容,如果未能解决你的问题,请参考以下文章

浅谈java容器Connection和Map

1.3浅谈Spring(IOC容器的实现)

浅谈JAVA集合框架

浅谈Mybatis

PHP解耦的三重境界(浅谈服务容器)

浅谈AngularJS中的$parse和$eval