Java学习----List接口

这篇博客总结了Java中List接口的学习内容,包括它作为有序且允许重复元素的Collection子接口,详细介绍了继承自Collection的方法如add和remove,以及List特有的方法如add(index, element)、get(index)和remove(index)。还提到了List接口的实现类ArrayList、Vector和LinkedList,以及sort方法的使用,强调了线程安全和自定义比较器的重要性。" 82464091,7848138,iOS开发实用技巧与知识点汇总,"['iOS开发', 'Xcode', 'UI布局', '适配技巧', '调试']
摘要由CSDN通过智能技术生成

今日学习内容总结如下:

List接口

有序 允许重复

public interface List<E> extends Collection<E>

继承自Collection接口的方法

  • boolean add(E e);向集合末尾追加元素e对象
  • boolean remove(Object obj)删除第一个和obj相等的元素,如果没有和obj相等元素,则报异常IndexOutOfBoundsException

List接口中的特殊方法

  • void add(int index, E element); 向指定索引位置index上添加元素element,原始数据自动后移
  • E get(int index);  获取指定索引号对应的元素,index应该在[0,size-1]
  • E set(int index, E element);  用于给指定索引位置上进行赋值,这个位置上必须有对应的数据(已经赋过值),这里实际上是修改操作,否则IndexOutOfBoundsException
  • E remove(int index);删除指定位置的元素,可以返回原始位置上存储的元素
  • int indexOf(Object o); 查找从左向右第一个o元素的下标索引,如果元素不存在返回-1
  • int lastIndexOf(Object o);从右向左查找

对象相等判定使用的是equals方法

sort方法按照自定义比较器对集合中的所有元素进行排序,默认自然序

default void sort(Comparator<? super E> c) {
        Object[] a = this.toArray();  //将List集合对象转换为数组
        Arrays.sort(a, (Comparator) c);  //调用Arrays工具类中的排序方法对数组进行排序
        ListIterator<E> i = this.listIterator();  //获取List集合对象中特殊的Iterator迭代器对象
        for (Object e : a) {  //foreach结构遍历数组中的所有元素
            i.next();
            i.set((E) e); //修改集合List中迭代器指定的当前位置上的元素
        }
    }
list.sort(new Comparator<A2>() {
			public int compare(A2 o1, A2 o2) {
				// 自定义比较规则,按照id从小到大,如果id相等则按照name从大到小
				int res = o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值