Java集合——List接口

1.定义

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

2.方法

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

void add(int index, E e):在指定索引处添加元素

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

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

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

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

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

boolean remove(Object o):删除指定元素

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

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

Object set(int index, Object e):替换指定索引的元素

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

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

int size():返回列表长度

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

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

3.常用实现类

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

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

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         String a1 = list1.get(0);
39         System.out.println(a1);   // "2"
40
41         //获取指定索引区域的多个元素
42         List<String> list2 = list1.subList(0,2);
43         System.out.println(list2);   // [2, 5]
44
45         // 修改指定索引的元素
46         list2.set(0,"1");
47         System.out.println(list2);  // [1, 5]
48
49         // 获取指定元素的索引,没有该值返回-1
50         int index = list2.indexOf("1");
51         System.out.println(index);   // 0
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 }

!!!

原文地址:https://www.cnblogs.com/jfl-xx/p/4707183.html

时间: 2024-08-30 07:44:00

Java集合——List接口的相关文章

Java集合Map接口与Map.Entry学习

Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像.如果该关键字已经存在,那么与此关键字相关的新值将取代旧值.方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object

java集合Collection接口

collection集合 Map集合 Collection接口 Collection接口是List.Set和Queue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作List和Queue集Collection提供了大量添加.删除.访问的方法来访问集合元素.主要的方法如下:

Java集合——Set接口

1.定义 set中不允许放入重复的元素,使用equals()方法进行比较.如果返回true,两个对象的HashCode值也应该相等 2.方法 add():添加元素 remove():移除指定元素 ....... TreeSet中常用的方法: first():返回第一个元素,last返回最后一个元素 lower():返回指定元素的上一个元素,higher():指定元素的下一个元素 SortedSet接口的subSet(a,b):返回指定区域的元素,范围为[a,b) SortedSet接口的head

Java集合-07Map接口及其抽象类

简介 前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map. 这一篇主要记录Map接口及其抽象类(java version:1.8) 整体架构 参考上图,整体分析如下 Map 映射接口,定义了存储内容为键值对(key-value)及map的基本操作方法 AbstractMap 该抽象类对Map接口有了整体的实现,简化实现Map接口所需要的工作 SortedMap 该接口更一步的对key提供了一个排序,该Map通过Comparable针对keys提供了

Java集合Colleciton接口

概述(本节内容最好记下来,随时能用,随口能讲,随手能写): 1,Collection集合顶级父类,继承Iterable(可迭代接口). 2,方法:add.addAll.clear. 一,首先看一下Collection的定义 public interface Collection<E> extends Iterable<E>从定义中我们可以看出Collection是一个带泛型的接口.实现了Iterable接口,也就是说可以使用迭代器.以上两点很重要,其下所有子类均有这两个属性. 二,

Java集合——Map接口

1.定义 Map用于保存存在映射关系<key,value>的数据.其中,key值不能重复(使用equals()方法比较),value值可以重复 2.方法 put(key,value):添加元素 get(Object key):获取指定key的元素 keySet():返回指定对象key的集合 values():返回指定对象value的集合 remove(Object key):移除指定key的元素,并且返回对应值的引用 entrySet():返回映射中包含映射关系的视图 3.常用实现类 Hash

Java集合--list接口

list是一个接口,实现类:Arraylist,Vector,Linkedlist list接口: 常用方法 排除Collection中具有的之外的 添加功能 void add(int index, E element):在指定位置添加元素 boolean addAll(int index, Collection<? extends E> c):在指定位置添加一组元素 判断功能 int indexOf(Object o):查找某个元素所在位置 int lastIndexOf(Object o)

Java集合框架--List、Set、Map

Java集合框架接口和类的层次结构: java.util.Collection [I] +--java.util.List [I] +--java.util.ArrayList [C] +--java.util.LinkedList [C] +--java.util.Vector [C] +--java.util.Stack [C] +--java.util.Set [I] +--java.util.HashSet [C] +--java.util.SortedSet [I] +--java.u

Java集合博客的导航 java集合框架学习路线

一.java集合Collection和Map的概述(http://www.cnblogs.com/escore/p/6931369.html) 二.java集合Collection接口详解(http://www.cnblogs.com/escore/p/6931374.html) 三.java集合Collection的List ArrayList LinkedList 区别(http://www.cnblogs.com/escore/p/6938650.html)