List接口

List

有序集合,可以精确控制每个元素在列表中的插入位置。用户可以通过其整数索引(在列表中的位置)访问元素,并在列表中搜索元素,列表通常允许重复元素,使用e1.equals(e2)来表示e1和e2相等。

1.接口的定义

public interface List<E> extends Collection<E> {
    // 1.继承至Collection接口
    // 2.E作为泛型存在
}

2.主要方法

public interface List<E> extends Collection<E> {
    // 返回集合中元素的个数
    int size();
    
    // 集合中没有元素,则返回true
    boolean isEmpty();
    
    // 集合中包含o,则返回true,o的类型并不是E,判断相同时常用equals()方法
    boolean contains(Object o);
    
    // 产生迭代器
    Iterator<E> iterator();
    
    // 增加元素,增加成功则返回ture
    boolean add(E e);
    
    // 删除元素,删除成功则返回true,使用equals()方法来判断两个元素是否相同
    boolean remove(Object o);
    
    // 此集合中包含指定集合中的所有元素,则返回true
    boolean containsAll(Collection<?> c);
    
    // 将指定集合中的所有元素添加到此集合中
    boolean addAll(Colleciont<? extends E> c);
    
    // 删除指定集合中也包含此集合的所有元素
    boolean removeAll(Collection<?> c);
    
    // 仅此保留此集合中包含指定集合中的元素
    boolean retainAll(Collection<?> c);
    
    // 删除所有元素
    void clear();
    
    // 排序
    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);
        }
    }
    
    // 返回集合中指定位置的元素
    E get(int index);
    
    // 替换指定位置的元素
    E set(int index,E element);
    
    // 在指定位置插入元素
    void add(int index,E element);
    
    // 删除指定位置的元素
    E remove(int index);
    
    // 返回此列表中指定元素第一次出现的索引,如果此列表不包含该元素,则返回-1
    int indexOf(Object o);
    
    // 返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回-1
    int indexIndexOf(Object o);
    
    // 返回从fromIndex到toIndex之间元素组成的集合(左闭右开)
    List<E> subList(int fromIndex,int toIndex);
}

3.常用的子类

  • ArrayList
  • Vector
  • LinkedList
  • CopyOnWriteArrayList
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STL list是C++标准模板库中的一个双向链表容器,它提供了一系列接口用于操作和管理链表中的元素。下面是一些常见的STL list接口: 1. 构造函数: - list(size_type n, const value_type& val = value_type()):构造包含n个值为val的元素的list。 - list():构造一个空的list。 - list(const list& x):拷贝构造函数,用于复制另一个list的内容构造新的list。 - list(InputIterator first, InputIterator last):用[first, last)区间中的元素构造list。 2. 容器大小: - size():返回list中元素的个数。 - empty():检查list是否为空。 3. 元素访问: - front():返回list中第一个元素的引用。 - back():返回list中最后一个元素的引用。 4. 插入和删除元素: - push_front(const value_type& val):在list的开头插入一个元素。 - pop_front():移除list的第一个元素。 - push_back(const value_type& val):在list的末尾插入一个元素。 - pop_back():移除list的最后一个元素。 - insert(iterator position, const value_type& val):在指定位置之前插入一个元素。 - erase(iterator position):移除指定位置的元素。 - erase(iterator first, iterator last):移除[first, last)区间中的元素。 5. 元素操作: - clear():移除list中的所有元素。 - remove(const value_type& val):移除所有等于val的元素。 - unique():移除所有相邻重复的元素。 - sort():对list中的元素进行排序。 - reverse():反转list中元素的顺序。 你可以参考C++官方文档(https://cplusplus.com/reference/list/list/)了解更多关于STL list接口和用法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值