List集合

  • 目录


 

  1. List集合的特性
  2. List的实现类
  3. List集合的常用操作
  4. Lis集合t使用的一个例子

 

  • List集合的特性


  1. 内容有序存放,可以重复。
  2. 可以任意个数存放,而不像数组那样在定义时声明size,受size的束缚。
  3. 每个值有索引(这个和数组一样),按存入的顺序分配索引,使用时可以按索引值操作。

List图示

 

 

  • List的实现类


 

  • List接口常用的实现类1——ArrayList

  • 基于对象数组,查询速度快,增删改慢
List<String> list = new ArrayList<String>();

 

  • List接口常用的实现类2——LinkedList

  • 基于双向链表,增删速度快,查询稍慢
List<Integer> list2 = new LinkedList<Integer>();

 

  • ArrayList与LinkedList相同点

    • 所具有的方法,方法名形同,处理的结果相同
    • 存取元素的顺序相同
    • 线程不安全

 

  • List集合的常用操作(增删改查)


 

  1. 添加元素,单次添加一个元素——add(value);
    list.add("腾讯");
    list.add("阿里");

 

  1. 添加元素,单词添加一个集合——addAll(new list);
  list3.addAll(list);

 

  1. 删除元素,单次删除指定元素——remove(index);
  list.remove(1);
  list2.remove(1);

 

  1. 修改元素,单词修改一个已经知道索引号的元素——set(index,new value);
  list.set(0, "腾讯成都");
  list2.set(0, 4);

 

  1. 获得元素,也就是查出一个元素,根据索引查出——get(value);
list.get(0);
list.get(1);

 

以上所有也可以通过遍历来操作,但是在用迭代器遍历的时候,删除元素用迭代器的remove方法。

 

  • List集合的一个例子


 

 1 import java.util.ArrayList;
 2 import java.util.LinkedList;
 3 import java.util.List;
 4 
 5 public class TestList {
 6 
 7     public static void main(String[] args) {
 8         
 9         List<String> list = new ArrayList<String>();
10         List<Integer> list2 = new LinkedList<Integer>();
11         List<String> list3 = new ArrayList<String>();
12         
13         //
14         list.add("腾讯");
15         list.add("阿里");
16         list2.add(1);
17         list2.add(5);
18         list3.addAll(list);
19         System.out.println("向集合添加元素的结果:");
20         show(list);
21         show(list2);
22         show(list3);
23         System.out.println("\n---------------------------------------------\n");
24         
25         //
26         list.set(0, "腾讯成都");
27         list2.set(0, 4);
28         System.out.println("修改集合元素后的结果:");
29         show(list);
30         show(list2);
31         show(list3);
32         System.out.println("\n---------------------------------------------\n");
33         
34         //
35         list.get(0);
36         list.get(1);
37         list2.get(0);
38         list2.get(1);
39         System.out.println("查询所有元素的结果:");
40         show(list);
41         show(list2);
42         show(list3);
43         System.out.println("\n---------------------------------------------\n");
44         
45         //
46         list.remove(1);
47         list2.remove(1);
48         System.out.println("删除部分元素后元素的结果:");
49         show(list);
50         show(list2);
51         show(list3);
52         System.out.println("\n---------------------------------------------\n");
53     }
54     
55     
56     public static void show( List list) {//遍历list并显示,为了方便这里用静态方法
57         for( int i = 0; i < list.size(); i++ ) {
58             System.out.print(list.get(i)+"\t");
59         }
60     }
61 }

 

posted @ 2018-08-04 21:55  四叶笔记  阅读(139)  评论(0编辑  收藏  举报