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的方式存储数据。

  • 相关阅读:
    笔试小题
    java泛型
    HTML 字符实体 < &gt: &等
    HttpClient Get/Post方式调用Http接口
    Webservice简介
    Mybtis框架总结(一)
    java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
    java程序员需要掌握些什么知识
    Float和double丢失精度问题及解决方案
    ViewController的viewWillLayoutSubviews作用
  • 原文地址:https://www.cnblogs.com/biabiabia/p/10130488.html
Copyright © 2011-2022 走看看