• 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
  • 相关阅读:
    Django中前端界面实现级联查询
    二叉树遍历规则
    计算机组成原理面试总结
    用python介绍4种常用的单链表翻转的方法
    跨域资源共享(CORS)
    python中单例模式的四种实现方式
    算法和数据结构
    手写配置文件实现两套配置文件的切换
    CentOS 7 安装教程
    配置管理系统
  • 原文地址:https://www.cnblogs.com/xiaofengshan/p/14675156.html
Copyright © 2020-2023  润新知