一.Collection接口

1.Collection接口两个子接口

    -List接口

        -ArrayList:

        -Vector:

        -LinkedList:

    -Set接口

        -HashSet:

            -LinkedHashSet:

        -TreeSet:

  2.Collection

        |--List    有序,可重复

            |--ArrayList

                底层数据结构是数组,查询快,增删慢。

                线程不安全,效率高

            |--Vector

                底层数据结构是数组,查询快,增删慢。

                线程安全,效率低

            |--LinkedList

                底层数据结构是链表,查询慢,增删快。

                线程不安全,效率高

        |--Set    无序,唯一

            |--HashSet

                底层数据结构是哈希表。

                如何保证元素唯一性的呢?

                    依赖两个方法:hashCode()和equals()

                    开发中自动生成这两个方法即可即重写

                |--LinkedHashSet

                    底层数据结构是链表和哈希表

                    由链表保证元素有序

                    由哈希表保证元素唯一

            |--TreeSet

                底层数据结构是红黑树。

                如何保证元素排序的呢?

                    自然排序,实现Comparable接口,并且重写compreTo方法。

                    比较器排序  自定义比较,实现Comparator接口,重写compare方法。

                如何保证元素唯一性的呢?

                    根据比较的返回值是否是0来决定

3.针对Collection集合我们到底使用谁呢?(掌握)

    唯一吗?

        是:Set

            排序吗?

                是:TreeSet

                否:HashSet

        如果你知道是Set,但是不知道是哪个Set,就用HashSet。

            

        否:List

            要安全吗?

                是:Vector

                否:ArrayList或者LinkedList

                    查询多:ArrayList

                    增删多:LinkedList

        如果你知道是List,但是不知道是哪个List,就用ArrayList。

    

    如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。

    

    如果你知道用集合,就用ArrayList。

4.:在集合中常见的数据结构(掌握)

    ArrayXxx:底层数据结构是数组,查询快,增删慢

    LinkedXxx:底层数据结构是链表,查询慢,增删快

    HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()

    TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序

二.Map接口

Map(掌握)

    1.基本概念:

(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

(2)Map和Collection的区别?

        A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对

        B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。

    (3)Map接口功能概述

        A:添加功能

        B:删除功能

        C:判断功能

        D:获取功能

        E:长度功能

2.Map集合的遍历

        A:键找值(keyset方法)

            a:获取所有键的集合

            b:遍历键的集合,得到每一个键

            c:根据键到集合中去找值

        

        B:键值对对象找键和值(entrySet方法,键和值得关系映射存入set集合中)

            a:获取所有的键值对对象的集合

            b:遍历键值对对象的集合,获取每一个键值对对象

            c:根据键值对对象去获取键和值

使用集合时注意所需功能是什么,再去寻找相应的集合。

java基础之集合(Set,Map,List)总结的更多相关文章

  1. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  2. 第6节:Java基础 - 三大集合(上)

    第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...

  3. 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!

    前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...

  4. java基础技术集合面试【笔记】

    java基础技术集合面试[笔记] Hashmap: 基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键(除了不同步和允许使用 null 之外,Ha ...

  5. 第51节:Java当中的集合框架Map

    简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...

  6. Java基础之 集合体系结构(Collection、List、ArrayList、LinkedList、Vector)

    Java基础之 集合体系结构详细笔记(Collection.List.ArrayList.LinkedList.Vector) 集合是JavaSE的重要组成部分,其与数据结构的知识密切相联,集合体系就 ...

  7. Java当中的集合框架Map

    简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...

  8. java基础之集合:List Set Map的概述以及使用场景

    本文的整体思路以及部分文字来源:来源一 和 来源二 Java集合类的基本概念: 首先大家要明白集合为什么会出现: 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的一个很好的选择,前提是 ...

  9. Java基础--说集合框架

    版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...

随机推荐

  1. Java笔记 – JDBC编程

    JDBC通过分层技术实现了跨数据库编程.为不同的数据库开发了统一的编程接口,为不同的数据库提供了不同的JAR类库. 一.JDBC基础 1.开发环境 (1)下载对应的Jar包 Oracle的本地Jar包 ...

  2. AutoMapper Profile用法

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using AutoMappe ...

  3. PAT甲级——A1109 Group Photo【25】

    Formation is very important when taking a group photo. Given the rules of forming K rows with Npeopl ...

  4. 03_springboot2.x日志处理

    1.日志框架 ​ 市场上存在非常多的日志框架.JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback.SLF4j ...

  5. assert(断言)

    Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 语法格式: assert expression 等价于: if not expression: ra ...

  6. UASCO Cow Pedigrees /// oj10140

    题目大意: 输入n,m :二叉树 输出 n个点分为m层 的方案数: 每个点的分支要么是0要么是2 Sample Input 5 3 Sample Output 2 即 两个方案为          O ...

  7. 获取url指定参数值(js/vue)

    function getParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&am ...

  8. 【学术篇】NOIP2016 D1T3 luogu1850换教室

    题目链接:点击这里献出你宝贵的时间(是用来做题不是捐赠Emmmm).. Emmmm我太弱了= = 做完这题我觉得我应该去打星际..这题怎么就有重边了呢.. 这题就是一道期望= =当时考场上好像完全不会 ...

  9. FileCloud 的原理简述&自己搭建文件云

    FileCloud 的原理简述&自己搭建文件云 copyright(c) by zcy 关于如何使用IIS创建asp服务,请读者自行研究 注:不要忘记添加入站规则 代码的存储: 根目录 fil ...

  10. Python-匿名函数与异常处理

    目录 匿名函数 什么叫匿名函数? 语法 max/min() sorted() map() filter() reduce函数 内置函数 面向过程编程 异常处理 什么是异常 异常的种类 异常处理 try ...