• java基础之集合(Set,Map,List)总结


    一.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:根据键值对对象去获取键和值

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

  • 相关阅读:
    配置sqlserver端口
    HTML5本地存储之localStorage
    初始化ArrayList的方法
    like 模糊查询 mybatis写法
    关于删除 值的引用 导致入参丢失的问题。
    学生做题分析功能设计(正确率,已做)
    关于商城类项目 商品表如何设计的问题
    修改Mysql的自增Id
    java list转map的几种方式
    jxls 入门及几个比较坑的地方
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767587.html
Copyright © 2020-2023  润新知