zoukankan      html  css  js  c++  java
  • Collection和Map集合

    前言

    集合的长度是可变的、集合存储的都是对象。而且对象的类型可以不一致。
    Collection集合和Map集合是所有集合的父接口。

    Collection接口定义

    体系结构的根接口,代表一组对象,有两个子接口List、Set接口。

    • List接口: 有序,有下标,元素可重复。
    • Set接口: 无序,无下标,不能重复。

    Collection接口抽象方法

    • public boolean add(E e): 把给定的对象添加到当前集合中 。
    • public void clear() :清空集合中所有的元素。
    • public boolean remove(E e): 把给定的对象在当前集合中删除。
    • public boolean contains(E e): 判断当前集合中是否包含给定的对象。
    • public boolean isEmpty(): 判断当前集合是否为空。
    • public int size(): 返回集合中元素的个数。
    • public Object[] toArray(): 把集合中的元素,存储到数组中。
    • default Stream<E> parallelStream():把集合转变成流对象,进行Lambda表达式的使用。

    Collection接口主要实现类

    • ArrayList: 底层采用数组实现,有序,查询快,增删慢。
    • LinkedList: 底层采用双向链表实现,有序,查询慢,增删快。
    • LinkedHashSet: 底层采用散列表实现,使用链表+红黑树的搭配解决哈希冲突的问题,无索引、不可以存储重复元素,但是多了一个维护数据存储顺序的链表。
    • HashSet:底层采用散列表实现,使用链表+红黑树的搭配解决哈希冲突的问题,无索引、不可以存储重复元素、存取无序。

    Map接口定义

    元素是成对存在的。每个元素由键与值两部分组成,通过键可以找对所对应的值。

    Map接口抽象方法

    • public V put(K key, V value): 把指定的键与指定的值添加到Map集合中。
    • public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
    • public V get(Object key): 根据指定的键,在Map集合中获取对应的值。
    • boolean containsKey(Object key): 判断集合中是否包含指定的键。
    • public Set<K> keySet(): 获取Map集合中所有的键,存储到Set集合中。
    • public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。

    Map接口主要实现类

    • HashMap: 底层采用散列表+链表+红黑树,线程不安全的Map。
    • HashTable: 现已不推荐使用,使用ConcurrentHashMap进行替换。但是他有一个子类Properties类,唯一一个和文件读取打交道的集合类。多用于配置文件的读取
    • ConcurrentHashMap: jdk1.8底层采用CAS+Synchronize技术来保障线程安全。底层采用数组+链表+红黑树的存储结构,也就是和HashMap一样。
    • LinkedHashMap:底层用的是链表来进行的存储,有序
    Properties文件读取类
    定义:

    是Java 语言的配置文件所使用的类。

    常用方法:
    • public synchronized void load(Reader reader) throws IOException: 加载需要读取的配置文件。
    • public void store(Writer writer, String comments)throws IOException: 加载需要写入的配置文件。
    • public String getProperty(String key): 根据Key获取对应的value, key=value
    • public synchronized V put(K key, V value):存储要写入的key和value。
    • public void list(PrintStream out):遍历集合,输出所有的key和value。

    tips:集合中key不能重复。

    XFS
  • 相关阅读:
    WinForm笔记1:TextBox编辑时和DataGridView 单元格编辑时 的事件及其顺序
    Emgu 学习(4) 使用指针访问图像内存
    SolidWorks学习笔记1
    Emgu 学习(3) 绘图,使用鼠标绘图,使用trackbar
    NModbus4的使用
    C# async await的使用
    Emgu 学习(2) 视频文件播放
    redis-key2
    redis--key1
    rpc优化
  • 原文地址:https://www.cnblogs.com/xiaofengshan/p/14675156.html
Copyright © 2011-2022 走看看