• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
Java容器——List接口

1. 定义

List是Collection的子接口,元素有序并且可以重复,表示线性表。

2. 常用实现类

ArrayList:它为元素提供了下标,可以看作长度可变的数组,为顺序线性表。

LinkedList:通过代价较低的在List中间进行插入和删除操作,提供了优化的顺序访问,但是在随即访问方面相对比较慢,为链表线性表。

3. 方法

boolean add(E e):在列表末添加元素

void add(int index, E e):在指定索引处添加元素,不会覆盖原先元素

boolean addAll(int index, Collection e):在指定索引处放入集合

Object get(int index):获取指定索引的元素

E set(int index, E element):更新指定索引的元素

int indexOf(Object o):获取指定元素在集合中的索引(第一次出现的元素)

int lastIndexOf(Object o):返回此列表中最后出现的元素的索引

Object remove(int index):删除指定索引对应的元素

boolean remove(Object o):删除列表中出现的第一个指定元素

boolean contains(Object o):判断列表是否包含给定元素

List subList(int fromIndex, int toIndex):返回索引为[form,to)的元素集合

Object[] toArray():将列表转为数组

Iterator<E> iterator():列表遍历的迭代器

boolean isEmpty():判断列表是否为空

void clear():删除列表所有元素

int size():返回列表长度

其他方法及其具体说明:https://docs.oracle.com/javase/8/docs/api/

4.示例

 1 import java.util.*;
 2 
 3 public class ListFunc {
 4     public static void main(String[] args){
 5         List<String> list1 = new ArrayList<>();
 6 
 7         //在列表末尾添加元素
 8         list1.add("1");
 9         list1.add("2");
10         list1.add("3");
11         list1.add("4");
12 
13         // 在列表指定索引处添加元素
14         list1.add(1,"2");
15         list1.add(5,"5");
16         list1.add(6,"6");
17         System.out.println(list1);     // [1, 2, 2, 3, 4, 5, 6]
18 
19         //删除指定索引的元素
20         list1.remove(0);
21         System.out.println(list1);  // [2, 2, 3, 4, 5, 6]
22 
23         //删除指定元素(第一个),要删除的元素可以不在列表中
24         list1.remove("2");
25         System.out.println(list1);  //[2, 3, 4, 5, 6]
26 
27         //删除指定索引区域的多个元素
28         // subList = list1.subList(1,3);
29         // subList.clear();                 // 两者等价,更改subList会改变list1
30         list1.subList(1,3).clear();
31         System.out.println(list1);   //[2, 5, 6]
32 
33         //删除所有元素
34 //        list1.clear();
35 //        System.out.println(list1);   //[]
36 
37         // 更改指定索引的元素
38         list1.set(0,"1");
39         System.out.println(list1);  // [1, 5, 6]
40 
41         //获取指定索引处元素
42         String a1 = list1.get(0);
43         System.out.println(a1);   // 1
44 
45         // 获取指定元素的索引,没有该值返回-1
46         int index = list1.indexOf("1");
47         System.out.println(index);   // 0
48 
49         //获取指定索引区域的多个元素
50         List<String> list2 = list1.subList(0,2);
51         System.out.println(list2);   // [1, 5]
52 
53         // 判断列表是否有某元素
54         boolean flag = list2.contains("5");
55         System.out.println(flag);  // true
56 
57         // list转array
58         String[] arr2 = list2.toArray(new String[0]);
59 //        String[]  arr2 = list2.toArray(new String[list2.size()]);    //两者等价
60         System.out.println(Arrays.toString(arr2));   // [1, 5]
61 
62         // iterator迭代器
63         Iterator<String> it = list2.iterator();
64         while (it.hasNext()){
65             System.out.print(it.next()+" ");      // 1 5
66         }
67 
68         // 增强for循环
69         for(String str: list2){
70             System.out.print(str+ " ");  // 1 5
71         }
72     }
73 }

!!!

 

posted on 2019-04-06 17:18  火磷  阅读(457)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3