Java之路---Day18(List集合)
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是一个双向链表)
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 }
上一篇: .NET Core入门