List接口

List接口

public interface List<E> extends Collection<E> {}

有序的集合,Collection的子接口。

  • 可以对元素插入的位置精确控制,也可以通过索引访问列表中的元素。

  • 与Set不同,列表允许重复的元素。

boolean addAll(int index, Collection<? extends E> c); //在指定位置将集合c中的所有元素添加到列表中,如果这个调用改变了列表,返回true
E get(int index); //返回列表指定位置的元素
E set(int index, E element); //替换列表中指定位置的元素,并返回替换之前的元素
void add(int index, E element); //在列表指定为值插入元素
E remove(int index); //移除列表指定位置的元素,并返回这个元素
int indexOf(Object o); //返回列表中o出现的第一个位置,如果列表中没有,则返回 -1
int lastIndexOf(Object); //返回列表中o出现的最后一个位置,如果列表中没有,则返回 -1
ListIterator<E> listIterator(); //返回一个遍历列表中元素的List迭代器(遍历顺序和列表元素的顺序一致)
ListIterator<E> listIterator(int index); //返回一个从指定为开始遍历列表中元素的List迭代器
List<E> subList(int fromIndex, int toIndex); //截取列表并返回(左闭右开);如果fromIndex == toIndex,返回空列表
 // 根据operator 替换列表中的所有元素
default void replaceAll(UnaryOperator<E> operator) {
    Objects.requireNonNull(operator);
    final ListIterator<E> li = this.listIterator();
    while (li.hasNext()) {
        li.set(operator.apply(li.next()));
    }
}

replaceAll方法简单应用:

// 对列表中的每个元素 + 1
    numList.replaceAll(t -> t + 1);
// 根据c 将列表中的元素排序
default void sort(Comparator<? super E> c) {
    Object[] a = this.toArray();
    Arrays.sort(a, (Comparator) c);
    ListIterator<E> i = this.listIterator();
    for (Object e : a) {
        i.next();
        i.set((E) e);
    }
}

sort方法简单应用:

List<User> list = new ArrayList<User> ();
list.add(new User("zhangsan", 25));
list.add(new User("lisi", 20));
list.add(new User("wangwu", 23)); 
list.sort((user1, user2) -> user1.getAge() - user2.getAge());
list.forEach(user -> System.out.println(user.toString()));
//控制台输出:
//      User [name=lisi, age=20]
//      User [name=wangwu, age=23]
//      User [name=zhangsan, age=25]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值