zoukankan      html  css  js  c++  java
  • 集合

    集合主要有两种主要类型:Collection,Map。

    Collection接口实现了Interface接口,存放的数据是无序的、可重复的。实现它的接口主要有两个,一个是List、一个是Set。

    Collection:

    1、List:存放的数据是有序、可重复的。List集合中的元素都有下标。实现List接口的类主要有ArrayList、LinkedList、Vector。

      1)ArrayList:按数组的结构存放数据。

      2)LinkedList:按链表方式存储数据。双向链表

      3)Vector:同ArrayList相同,也按数组的结构存放数据;与ArrayList不同的是,Vector是线程同步的,而ArrayList是线程不同步的。

    2、Set:存放的数据是无序、不可重复的,无下标。实现Set接口的主要有HashSet、SortedSet。

      1)HashSet:底层以HashMap的方式存储。以哈希散列表的方式存储数据。判断对象重复的方式,调用add()方法时,先调用hashCode()方法,判断hashcode是否相同,如果相同,则继续调用equals()方法;否则不会再调用equals()方法,直接进行数据存储。所以在定义类时,一定要同时重写hashCode()、equals()方法。

      2)SortedSet:实现SortedSet接口的类主要有TreeSet,TreeSet无序、不可重复。TreeSet去除重复项的方式:TreeSet要求存放的对象实现Comparable接口或者自定义一个比较器。

    Map以key、value成对的方式存入元素。其中key以Set的方式存放,也是无序、不可重复;value以Collection的方式存放,是无序、可重复的。实现Map接口的主要有HashMap、HashTable、SortedMap。

    Map:

     1、HashMap:以HashSet的方式存放,线程不同步,因此去除重复项一定要重写hashCode()、equals()方法。可以使用null作为key或者value。

     2、HashTable:线程同步,不可以使用null作为key或者value。

     3、SortedMap:实现SortedMap的类主要有TreeMap。TreeMap的key以TreeSet的方式存储数据。

  • 相关阅读:
    Hadoop 2.7.3 完全分布式维护-简单测试篇
    PostgreSQL schema/table等大小查看
    Hadoop 2.7.3 完全分布式维护-部署篇
    java list map在初始化的时候添加元素
    js 立即执行函数
    vue 指令中el 的 parentNode 为空的问题
    elasticsearch must 和 should 并列的情况
    css animation动画使用
    css inline-block
    几种线程相关的map介绍
  • 原文地址:https://www.cnblogs.com/biabiabia/p/10130488.html
Copyright © 2011-2022 走看看