Java之路---Day18(List集合)
2019-11-05 16:05:18来源:博客园 阅读 ()
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 }
原文链接:https://www.cnblogs.com/hpcz190911/p/11802595.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash