Java中List集合的常用方法

Java中List集合的常用方法

List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。

1、void add(int index, E element)

在指定位置插入元素,后面的元素都往后移一个元素。

 public static void main(String[] args) {
     List list1 = new ArrayList<>();
     list1.add("aaa");
     list1.add("bbb");
     list1.add("ccc");
     System.out.println("list1:" + list); // [aaa,bbb,ccc]
     list1.add(2,"zzz");
     System.out.println("list1:" + list); // [aaa,bbb,zzz,ccc],元素插入到索引2位置处
 }   

2、boolean addAll(int index, Collection<? extends E> c)

在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。

意思就是当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。

List list2 = new ArrayList<>();
List list3 = new ArrayList<>();
list2.add("星期一");
list2.add("星期二");
Boolean b = list1.addAll(2,list2); //把list2元素插入到list1中索引位置为2处。
System.out.println("list1:" + list); // [aaa,bbb,星期一,星期二,ccc]
System.out.println("list1集合是否发生变化:" + b); // true
b = list1.addAll(2,list3); //把list3元素插入到list1中索引位置为2处。
System.out.println("list1:" + list); // [aaa,bbb,星期一,星期二,ccc]
System.out.println("list1集合是否发生变化:" + b); // false

3、E get(int index)

返回list集合中指定索引位置的元素。

Object obj1 = list1.get(2); //obj1 = 星期一,索引从0开始
Object obj2 = list1.get(4); //obj2 = ccc

4、int indexOf(Object o)

返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1。

int i = list1.indexOf("demo2"); //i = 1
int j = list1.indexOf("你好"); //i = -1

5、ListIterator<E> listIterator()

返回此列表元素的列表迭代器(按适当顺序)。listIterator和iterator的区别可以参考。https://blog.csdn.net/longshengguoji/article/details/41551491

这里大概讲一下他们的区别:当只需要遍历集合时,两个迭代器的功能都是一样。但是listIterator迭代器只能用于List和他的实现子类,iterator迭代器可以用于所有的集合使用。所不同的就是listIterator迭代器的功能会比iterator迭代器的功能要多。listIterator迭代器可以在遍历集合时添加、修改和删除,而iterator迭代器在遍历集合时只有删除。

6、ListIterator<E> listIterator(int index)

从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)。和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。

7.List.iterator() 

方法用于返回按适当顺序在列表的元素上进行迭代的迭代器。方法返回值为 Iterator 对象。

本例使用 List 接口的实现类 ArrayList 初始化一个列表对象 list,并向该列表中添加 3 个元素,然后调用 iterator 方法获取该列表的迭代器,最后通过循环输出该列表中的全部元素。

public static void main(String[] args){    
    List<String>list = new ArrayList<String>();  
    list.add("保护环境");    
    list.add("爱护地球");      
    list.add("从我做起");    
    Iterator it = list.iterator();  //获取Iterator对象    
    while(it.hasNext()){  //循环遍历Iterator对象    
        System.out.println(it.next());  //输出Iterator对象中的值  保护环境,爱护地球,从我做起
    }
}

8、E remove(int index)

删除指定索引的对象。

list1.remove(2);
System.out.println("list1:" + list); // [aaa,bbb,星期二,ccc]

9、E set(int index, E element)

在索引为index位置的元素更改为element元素。

list1.set(2,"nihao");
System.out.println("list1:" + list); // [aaa,bbb,nihao,ccc]

10、List<E> subList(int fromIndex, int toIndex)

返回从索引fromIndex到toIndex的元素集合,包左不包右。

reslist = list1.subList(1,3);
System.out.println("reslist:" + reslist); // [bbb,nihao]

 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值