一.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. HUD1686-Oulipo-kmp模板题/哈希模板题

    The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...

  2. k8s常用的资源

    1. 创建pod资源 pod是最小的资源单位 任何一个k8s资源都可以有yml清单文件来定义 k8s yaml的主要组成 apiVersion: v1 api版本 kind: pod 资源类型 met ...

  3. MT Call来电流程分析????

  4. Google Chrome浏览器安装xpath helper插件

    1. 图中桌面的两个2.0.2_0文件就是xpath helper插件. --------------------------------------------------------------- ...

  5. spring boot发简单文本邮件

    首先要去邮箱打开POP3/SMTP权限: 然后会提供个授权码,用来发送邮件.忘记了,可以点生成授权码再次生成. 1.引入spring boot自带的mail依赖,这里版本用的:<spring-b ...

  6. 第二周课堂笔记2th

    ---恢复内容开始--- 1. 2.索引取单个值 取多个值叫切片, 切片:取多个值 从左到右取值: 原则:顾头不顾尾 1, a[0:3] abc 2, a[-5:-2] abc 3, a[0:-2] ...

  7. asp.net Core 获取应用程序所在目录的2种方式

    //获取应用程序所在目录的2种方式(绝对,不受工作目录影响,建议采用此方法获取路径).如:d:\Users\xk\Desktop\WebApplication1\WebApplication1\bin ...

  8. 面试系列18 rediscluster 原理

    一.节点间的内部通信机制 1.基础通信原理 (1)redis cluster节点间采取gossip协议进行通信 跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在某个节点上,而是互相之间 ...

  9. axel 参数 文件下载地址

    axel 参数 文件下载地址 可选参数: -n 指定线程数 -o 指定另存为目录 -s 指定每秒的最大比特数 -q 静默模式 实例 axel -n 10 -o /tmp/ http://testdow ...

  10. java.sql.SQLException

    java.sql.SQLException 出错:java.sql.SQLException: com.mchange.v2.c3p0.ComboPooledDataSource[ identityT ...