zoukankan      html  css  js  c++  java
  • Collection集合总结

    一、 Collection |--List      有序,可重复 |--ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高 |--Vector 底层数据结构是数组,查询快,增删慢。 线程安全,效率低 |--LinkedList 底层数据结构是链表,查询慢,增删快。 线程不安全,效率高 |--Set       无序,唯一 |--HashSet 底层数据结构是哈希表。 如何保证元素唯一性的呢? 依赖两个方法:hashCode()和equals() 开发中自动生成这两个方法即可 |--LinkedHashSet 底层数据结构是链表和哈希表 由链表保证元素有序 由哈希表保证元素唯一 |--TreeSet 底层数据结构是红黑树。 如何保证元素排序的呢? 自然排序 比较器排序 如何保证元素唯一性的呢? 根据比较的返回值是否是0来决定 二、针对Collection集合我们到底使用谁呢? 唯一吗? 是:Set 排序吗? 是:TreeSet 否:HashSet 如果你知道是Set,但是不知道是哪个Set,就用HashSet。   否:List 要安全吗? 是:Vector 否:ArrayList或者LinkedList 查询多:ArrayList 增删多:LinkedList 如果你知道是List,但是不知道是哪个List,就用ArrayList。 如果你只知道用集合,就用ArrayList。 如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。 三、集合中常见的数据结构 ArrayXxx:底层数据结构是数组,查询快,增删慢 LinkedXxx:底层数据结构是链表,查询慢,增删快 HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals() TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序 四、Java 集合可分为 Collection 和 Map 两种体系
    1. Collection接口:
    Set:元素无序、不可重复的集合 List:元素有序,可重复的集合   2. Map接口: 具有映射关系“key-value对”的集合
  • 相关阅读:
    失眠食療
    学会妥协学会弯腰(下册)
    软件工程(第4版·修订版)
    GitHub入门与实践
    iOS开发:从零基础到精通
    Premiere Pro CS6高手成长之路
    网页设计与前端开发从入门到精通Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript
    CINEMA 4D R17 完全学习手册(第2版)
    1040. 二叉树层次遍历
    1041. 二哥打飞机
  • 原文地址:https://www.cnblogs.com/ZoHy/p/12400672.html
Copyright © 2011-2022 走看看