• 集合


    容器(Collection)
    数组是一种容器, 集合也是一种容器
    java编程中, 装其他各种各样的对象(引用类型)的一种东西, 叫容器

    (图书馆里所有的书, 要想管理图书馆里所有的书, 就需要先把这些书放到一个东西里面, 目前掌握的知识来说, 只能是数组, 数组的长度是固定的, 这就出现一个问题, 数组的长度该定义成多长 ? 长度是不固定的, 因为不知道有多少本书, 这个时候需要这样一种机制:

    定义一种东西, 长度不固定, 可以随时添加和删除, 这种东西就是Collection, 只要不超出内存, 随便往里添加)

    Collection---接口:
    Set接口
    *HashSet---实现类(以哈希码表为底层的实现机制)
    TreeSet---实现类(以二叉树(一种数据结构)为底层的实现机制)
    没有顺序, 不可以重复(可以互相equals就叫重复)
    !List接口
    *ArrayList---实现类(以数组为底层的实现机制)
    LinkedList---实现类(以链表为底层的实现机制)
    有顺序, 可以重复

    !Map接口(键值对)
    *HashMap---实现
    TreeMap---实现类
    每次往里放的时候都是一对一对的

    Collection接口的方法
    Collection接口的使用
    代码实例: eclipse--com.test3
    Collection<String> c = new ArrayList<String>();
    问题: 为什么不直接写ArrayList<String> a = new ArrayList<String>();
    c.add(参数类型必须是Object)

    c.remove方法: 通过判断两个对象是否互相的equals来确定是不是该删除该对象, 自定义的类, 需要自己重写父类的equals方法
    重写equals方法, 也应该重写hashCode方法

    hashCode通常用来做索引, 一个对象通过它的hashCode的值可以找到它在内存中的地址, 所以两个对象如果equals了, 而且又要作为索引的情况下, hashCode的值必须相等

    List接口:
    ArrayList(API中说初始容量为10的, 注意这个问题), LinkedList
    有顺序, 可以重复添加
    get
    set(有一个返回值要注意 !)
    add
    remove(int)
    remove(Object)
    indexOf
    lastIndexOf

  • 相关阅读:
    bs4抓取糗事百科
    数据结构(复习排序算法)——选泡插(选择,冒泡,插入,希尔)
    Hive-ha (十三)
    Hive优化(十一)
    Hive压缩和存储(十二)
    Hive权限管理(十)
    Hive的视图和索引(九)
    Hive动态分区和分桶(八)
    Hive(七)Hive参数操作和运行方式
    Redis 基础
  • 原文地址:https://www.cnblogs.com/angangxiaofa/p/6896689.html
Copyright © 2020-2023  润新知