集合

作者: Scalelength | 来源:发表于2018-07-24 17:38 被阅读0次

概念:Java中的集合是工具类,可以存储任意数量的具有共同属性的对象

应用场景
    1.无法预测存储数据的数量
    2.同时存储具有一对一关系的数组
    3.需要进行数据的增删
    4.数据重复问题

集合框架的体系结构
    集合框架分为两类
        1.Collection(存储类的对象,是接口)
            三个子接口:                                                实现类:
                1) List:序列(内容要求有序,可以重复)             ArrayList(长度正态增长的数组)
                2) Queue:队列(内容要求有序,可以重复)        LinkedList(链表的内容)
                3) Set:集(无序,不可重复)                                  HashSet(哈希集)
        2.Map(键值对,是接口)
            实现类:HashMap(哈希表)存储以键值对形式表示的数据

List集合
    List list=new ArrayList();
    一、概述
        1.List是元素有序并且可以重复的集合,称为序列
        2.List可以精确的控制每个元素的插入位置,或删除某个位置的元素
        3.List的两个主要实现类是ArrayList和LinkedList
    二、ArrayList
        1.ArrayList底层是由数组实现的
        2.动态增长,以满足应用程序的需求
        3.在列表尾部插入或删除数据非常有效
        4.更适合查找和更新元素
        5.ArrayList中的元素可以为null
        集合在java.util.Collection.List中,使用jdk查看其方法
        使用ArrayList集合
         1.建造一个有所需信息的类并设置带参的构造方法(并调用super()方法)
         2.在主方法中实例化信息类,并调用有参构造方法
         3.然后ArrayList noticeList=new ArrayList();
         4.将实例添加到集合中 noticeList.add(Object Obj);
         5.强制转换并调用get方法((NoticeDemo)(noticeList.get(i))).getDate()

Set集合
    HashSet(哈希集)
        HashSet是Set的一个重要实现类,称为哈希集
        HashSet中的元素无序并且不可以重复
        HashSet中只允许一个null元素
        具有良好的存取和查找性能
    方法:
        contains(Object Obj);如果set包含指定元素则返回true
        add(E e);添加方法
        remove(Object Obj);移出方法
        size();返回set中的元素数
        iterator();返回在此set中的元素上进行迭代的迭代器
    遍历:
        Iterator<限制类名> it=set.iterator();泛型用来限制其类型
        while(it.hasNext()){System.out.println(it.next());}
    限制:
        读取数据时是不允许删除数据的
    重写方法:
        右键-Source-Generate String()
          重写toString方法以便于输出内容,而非地址
        右键-Source-Generate hashCode() and equals()
          重写hashCode方法不用管
          重写equals方法
             1.判断对象是否相等,相等则返回true,不用继续比较属性
             2.判断obj是否是该类的对象,如果是,则强制转换成此类对象并返回属性比较之后的结果 重写这两个方法是为了保证数据不重复
        泛型限定set中数据的类型
          Setset=new HashSet();
        重写toString方法,以便于用其输出内容,而不是地址
        @Override
        public String toString() {return "name=" + name + ", age=" + age;}
        重写hashCode方法
        @Override
        public int hashCode() {final int prime = 31;
                                            int result = 1;
                                            result = prime * result + age;
                                            result = prime * result + ((name == null) ? 0 : name.hashCode());
                                            return result;}
        重写equals方法
        @Override
        public boolean equals(Object obj) {
        //判断对象是否相等,相等则返回true,不用继续比较属性
            if (this == obj)
            return true;
        //判断obj是否是Cat类的对象,如果是,则强制转换并返回属性比较之后的结果
            if (getClass() == obj.getClass()){
                CatTest cat=(CatTest)obj;//强制转换成CatTest类型
                return cat.getName().equals(name)&&(cat.getAge()==age);}
            return false;}

Map
        概述:
                Map中的数据是以键值对(key-value)的形式存储的
                key-value以Entry类型的对象实例存在
                可以通过key值快速地查找value
                一个映射不能包含重复的键
                每个键最多只能映射到一个值
        常见类:
                HashMap
                            基于哈希表的Map接口的实现
                            允许使用null值和null键
                            key值不允许重复
                            HashMap中的Entry对象事无序排列的
                            HashMap中会key值重复时会覆盖以前的值

相关文章

  • 我的Swift的学习总结 -->第二周

    集合 集合:Set,定义一个集合可以写成:var 集合名 : Set<集合类型> = [集合元素],具体的集合应用...

  • markdown 测试

    集合 集合 集合 引用

  • kotlin学习第五天:集合,高阶函数,Lambda表达式

    集合 list集合 list集合分为可变集合与不可变集合。由list of创建的集合为不可变集合,不能扩容,不能修...

  • kotlin练习 ---- 集合练习

    kotlin练习 - 集合练习 Set集合 Set集合创建 Set集合的使用 List集合 List集合创建 Li...

  • 集合总结

    集合 集合分为单列集合和双列集合两种: 一.单列集合: Collection是单列集合的顶级接口: 其中有三类集合...

  • 映射、元组、集合

    映射 元组 集合 集合之seq 集合之set 集合之map

  • 16.Collection集合

    主要内容: Collection 集合 迭代器 增强for List 集合 Set 集合 1,集合 集合是java...

  • 集合与有序集合

    集合分为有序集合 (zset) 和无序集合 (set), 一般无序集合也直接说成集合 无序集合 (set) 无序集...

  • python入坑第八天|集合

    好的,各位蛇友,我们今天来学习集合。 内容: 集合的创建 集合操作符号 集合的内置函数 集合的创建 集合用set(...

  • 集合框架

    集合框架的概念 集合:存放数据的容器 集合框架:java中,用于表示集合,以及操作集合的类和接口的统称 数组与集合...

网友评论

      本文标题:集合

      本文链接:https://www.haomeiwen.com/subject/fgdymftx.html