zoukankan      html  css  js  c++  java
  • List和Set

    一、List

    1.1特点

    @它是一个元素存取有序的集合。

    @它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)

    @集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素

    1.2 常用方法

    public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。

    public E get(int index) :返回集合中指定位置的元素。

    public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。

    public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

    1.3子类

    1ArrayList集合数据存储的结构是数组结构

    特点:元素增删慢,查找快

    2LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合。

    LinkedList是一个双向链表

    二、Set

    2.1特点

    Set 接口中元素无序

    2.2HashSet(无序)

    1)概念

    java.util.HashSet 底层的实现其实是一个 java.util.HashMap 支持

    HashSet 是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。保证元素唯一性 的方式依赖于: hashCode equals 方法。

    (2)HashSet集合存储数据的结构(哈希表)

    哈希表是由数组+链表+红黑树

     

     

     

     

    HashSet存储自定义类型元素

     

    HashSet中存放自定义类型元素时,需要重写对象中的hashCodeequals方法,建立自己的比较方式,才能保 证HashSet集合中的对象唯

    (3)LinkedHashSet (有序)

    是链表和哈希表组合的一个数据存储结构

    LinkedHashSet继承自HashSet,源码更少、更简单,唯一的区别是LinkedHashSet内部使用的是LinkHashMap

    三、Collection

    一、常用功能

    java.utils.Collections 是集合工具类,用来对集合进行操作。部分方法如下:

    public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加一些元素。

    public static void shuffle(List<?> list) 打乱顺序 :打乱集合顺序。

    public static <T> void sort(List<T> list) :将集合中元素按照默认规则排序。

    public static <T> void sort(List<T> list,Comparator<? super T> ) :将集合中元素按照指定规则排 序。

     

     

     

  • 相关阅读:
    合并本地多次commit为一个commit
    git 取消文件跟踪
    遍历进程 遍历窗口
    linux查看程序运行参数
    ubuntu下载地址
    将博客搬至CSDN
    extern"C"的使用
    ESP32-NVS存储(非易失性存储库)
    ESP32-EEPROM存储
    c语言简单数据类型
  • 原文地址:https://www.cnblogs.com/kali5k/p/13460470.html
Copyright © 2011-2022 走看看