欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java之路---Day18(List集合)

程序员文章站 2022-04-10 14:29:56
2019-11-05-23:03:28 List集合: java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了List 接口的对象称为List集合 特点: 1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中, ......

2019-11-05-23:03:28


 

list集合:

  java.util.list 接口继承自 collection 接口,是单列集合的一个重要分支,习惯性地会将实现了list 接口的对象称为list集合

  特点:

    1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、 22、33的顺序完成的

    2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)

    3.集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复元素

list集合常用方法:

  list作为collection集合的子接口,不但继承了collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法

    1.public void add(int index,e element):将指定的元素,添加到该集合中的指定位置上

    2.public e get(int index) :返回集合中指定位置的元素。 

    3.public e remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。 

    4.public e set(int index, e element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

 1 package demosummary.list;
 2 
 3 import java.util.arraylist;
 4 import java.util.list;
 5 
 6 public class listtest {
 7     public static void main(string[] args) {
 8         //创建list集合对象
 9         list<string> list = new arraylist<>();
10         //向list集合添加元素
11         list.add("德玛");
12         list.add("德邦");
13         list.add("皇子");
14         list.add("剑圣");
15         //打印list集合
16         system.out.println(list);//[德玛, 德邦, 皇子, 剑圣]
17         /**
18          public void add(int index, e element) : 将指定的元素,添加到该集合中的指定位置上
19          */
20         list.add(1,"卡莎");
21         system.out.println(list);//[德玛, 卡莎, 德邦, 皇子, 剑圣]
22         /**
23          *public e get(int index) :返回集合中指定位置的元素。
24          */
25         system.out.println(list.get(2));//德邦
26         /**
27          * public e remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
28          */
29         system.out.println(list.remove(3));//皇子
30         system.out.println(list);//[德玛, 卡莎, 德邦, 剑圣]
31         /**
32          * public e set(int index, e element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
33          */
34         string result = list.set(1, "武器");
35         system.out.println(result);//卡莎
36         system.out.println(list);//[德玛, 武器, 德邦, 剑圣]
37         /**
38          * 增强for遍历list集合
39          */
40         for (string s : list) {
41             system.out.println(s);
42         }
43     }
44 }

list集合的子类:

  arraylist集合:

    java.util.arraylist 集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用多的功能为 查询数据、遍历数据,所以 arraylist 是常用的集合。

    注意:许多程序员开发时非常随意地使用arraylist完成任何需求,并不严谨,这种用法是不提倡的。 

  linkedlist集合:

    java.util.linkedlist 集合数据存储的结构是链表结构。方便元素添加、删除的集合。(linkedlist是一个双向链表)

Java之路---Day18(List集合)

  linkelist集合的一些操作方法(了解即可)

    public void addfirst(e e) :将指定元素插入此列表的开头。

    public void addlast(e e) :将指定元素添加到此列表的结尾。

    public e getfirst() :返回此列表的第一个元素。

    public e getlast() :返回此列表的后一个元素。

    public e removefirst() :移除并返回此列表的第一个元素。

    public e removelast() :移除并返回此列表的后一个元素。

    public e pop() :从此列表所表示的堆栈处弹出一个元素。

    public void push(e e) :将元素推入此列表所表示的堆栈。

    public boolean isempty() :如果列表不包含元素,则返回true

 1 package demosummary.list;
 2 
 3 import java.util.linkedlist;
 4 
 5 public class linkedlisttest {
 6     public static void main(string[] args) {
 7         //创建linkedlist集合对象
 8         linkedlist<string> list = new linkedlist<>();
 9         /**
10          * public void addfirst(e e) :将指定元素插入此列表的开头。
11          * public void addlast(e e) :将指定元素添加到此列表的结尾。
12          */
13         list.addfirst("德玛");
14         system.out.println(list);//[德玛]
15         list.addfirst("德邦");
16         system.out.println(list);//[德邦, 德玛]
17         list.addlast("皇子");
18         system.out.println(list);//[德邦, 德玛, 皇子]
19         /**
20          * public e getfirst() :返回此列表的第一个元素。
21          * public e getlast() :返回此列表的后一个元素。
22          */
23         system.out.println(list.getfirst());//德邦
24         system.out.println(list.getlast());//皇子
25         /**
26          * public e removefirst() :移除并返回此列表的第一个元素。
27          * public e removelast() :移除并返回此列表的最后一个元素
28          */
29 //        string s = list.removefirst();
30 //        system.out.println(s);//德邦
31 //        system.out.println(list);//[德玛, 皇子]
32 //        string s1 = list.removelast();
33 //        system.out.println(s1);//皇子
34 //        system.out.println(list);//[德玛]
35         /**
36          * public e pop() :从此列表所表示的堆栈处弹出一个元素。
37          */
38         string pop = list.pop();
39         system.out.println(pop);//德邦
40         /**
41          * public void push(e e) :将元素推入此列表所表示的堆栈。
42          */
43         list.push("卡莎");
44         system.out.println(list);//[卡莎, 德玛, 皇子]
45         list.push("武器");
46         system.out.println(list);//[武器, 卡莎, 德玛, 皇子]
47         /**
48          * public boolean isempty() :如果列表不包含元素,则返回true
49          */
50         boolean empty = list.isempty();
51         system.out.println(empty);//false
52     }
53 }