• java篇 之 集合


    集合   链接:https://blog.csdn.net/weixin_42504145/article/details/83119088

    数组:

      java的数组既可以存储基本数据类型,也可以存储引用数据类型,它本身也是一种引用数据类型。(且存放的类型必须一致

    集合:

    1. 存放其它对象的对象,且只能是对象(即引用数据类型) 由数组的缺点引出集合(长度 不可变且连续)
    2. 所有Java集合类都位于java.util包中

    为单值(单个值)

    .

    为双值(键值对)

    Map是一种把键对象和值对象进行映射的集合,它的每一个元素都包含一对键对象和值对象。向Map集合中加入元素时,必须提供一对键对象和值对象,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。Map集合中的键对象不允许重复,如以相同的键对象加入多个值对象,第一次加入的值对象将被覆盖

    Map

    键不可以重复,键确定,值确定(值可以重复)

    Put(key,value):插入:相同的key会被最新的替换,值重复没关系,key允许为null或者值为null

    get(key):获取key对应的值

    Map接口中定义了Entry接口

    为什么SetList集合可以调用iterator方法,然后使用迭代器进行遍历,而Map集合不能使用迭代器遍历?

    因为SetList集合都继承了Collection接口,而Collection接口又继承了Iterable接口,Iterable接口中提供了iterator方法,该方法可以返回一个迭代器,用来遍历集合。Map集合则没有继承该接口。

    Java中集合主要分为三种类型:

                . Set : 无序,并且没有重复对象。不支持null(写实例时要先完善hashcode equals,是根据这个去重!)

                . List: 有序(放入的先后的次序), 可重复。允许null

                . Map : 集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键

    对象,值对象可以重复

    SortedSet:已经完成排序(修改其中数据后不会再次排序了)

    SortedMap:对键排好序

    顺序表:

    ArrayList: 数组实现(插入删除效率低,查找效率高)

    LinkedList:链表实现(插入删除效率高,查找效率低)

    VectorList:适用于多线程的表,类似ArrayList,但是效率低一些

    Hash表:

    HashSet:按照哈希算法来存取集合中的对象,存取速度比较快(写实例时要先完善hashcode equals,是根据这个去重!)

    TreeSet: TreeSet实现了SortedSet接口,能够对集合中的对象进行排序,不支持null

    HashMap: 按哈希算法来存取键对象,有很好的存取性能

    TreeMap:  实现了SortedMap接口,能对键对象进行排序

    Iterator:默认初始位置在最左侧

    对象如果没有重写toString方法,则默认是Object的方法返回值: 类名@哈希值

    输出语句怎么把int转化为String类型:+ “ ”  通过+链接强制转换一下字符串

    每个对象都自带equals()hasCode()方法。是Object(所有类的超类)自带的

    为什么要用equals,因为set不能重复,谁不能重复?自己定义的类的对象不能,那就必须该对象要用equals判断,且要重写,因为它不是基本类型,是类类型,而用hashCode是为了减少循环次数。hashCodeequals一般是配套重写的,一般是先判断hashCodeequals

  • 相关阅读:
    OO第四单元作业总结暨完结撒花
    OO第三单元作业总结【自我审判】
    菜鸡学C语言之知识点简单整理
    菜鸡学C语言之混凝土(四柱汉诺塔)
    OO第二单元作业总结【自我反思与审视】
    菜鸡学C语言之寻根溯源
    菜鸡学C语言之真心话大冒险
    菜鸡学C语言之摸鱼村村长
    OO面向对象第一单元总结
    day10 python全栈学习笔记
  • 原文地址:https://www.cnblogs.com/wskb/p/10830113.html
Copyright © 2020-2023  润新知