• 廖雪峰Java5集合-1Java集合简介-1Java结合简介


    1.集合

    定义:集合就是一堆东西。集合里的东西,称为元素Element
    数学中的集合:

    • 有限集合:
      * 一个班所有的学生组成的集合
      * 一个网站所有的商品组成的集合
    • 无限集合:
      * 全体自然数集合
      * 奇数集合

    2.计算机中引入集合的意义

    为了处理一组数据:

    • 计算所有同学的总成绩和平均成绩
    • 列举所有的商品
    • 遍历页面的所有元素

    一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合:

    • Java的数组可以看作是一种集合,例如:
    public class Main {
        public static void main(String[] args){
            String[] ss = new String[10];//可以持有10个String对象
            ss[0] = "Hello";//通过索引放入String对象
            String first = ss[0];//通过索引获取String对象
        }
    }
    

    问:有了数组,为什么还要其他集合类?
    数组使用起来不灵活:

    • 数组初始化后大小不可变
    • 数组只能按索引顺序存取

    因为数组不够灵活,就需要其他各种集合类来处理,如

    • 可变大小的顺序链表
    • 保证无重复元素的集合
    • ...等其他情况.

    3.Java集合

    jdk自带的java.util提供了所有的集合类

    • Collection:集合类的根接口
      * List:一种有序列表,例如,按索引排列的Student的List
      * Set:一种保证没有重复元素的集合,例如所有无重复Student的Set
    • Map:一种通过Key查找value的映射表集合,同python的dictionary,例如通过name查找对应Student的Map

    4.java集合设计的特点:

    接口和实现相分离:List接口:ArrayList,LinkedList
    支持泛型:List list = new ArrayList<>();
    访问集合有统一的方法:迭代器Iterator

    5.部分类和接口是遗留,不应该再使用

    • 遗留类
      * jdk的部分集合类是遗留类,不应该继续使用:
      * Hashtable:一种线程安全的Map实现
      * Vetor:一种线程安全的List实现
      * Stack:给予Vetor实现的LIFO的栈
    • 遗留接口:
      * Enumeration:已被Iterator取代

    6.总结:

    • Java的集合类定义在java.util包中
    • 常用的集合类包括List,Set,Map等
    • Java集合使用统一的Iterator遍历集合
    • 尽量不要使用遗留接口
  • 相关阅读:
    C++结构体内重载、this指针和友元函数(初步了解)
    数据结构—造树计划—二叉搜索树
    PTA顺序的分数
    PTA兼容任务
    PTA航船
    UML-基于GRASP对象设计步骤
    UML-设计对象时涉及的制品有哪些?
    UML-什么是用例实现(场景实现)?
    UML-如何使用GRASP进行对象设计?
    日志总结
  • 原文地址:https://www.cnblogs.com/csj2018/p/10480209.html
Copyright © 2020-2023  润新知