zoukankan      html  css  js  c++  java
  • Collection集合

    集合概述

    集合:集合时java提供的一种容器,可以存储多个数据,重写了toString方法。
    

    集合与数组的区别

    1.数组声明了它容纳的元素的类型,而集合不声明
    2.数组的长度是固定的,集合长度是改变的
    3.数组的存放类型只能时一种(基本类型/引用类型),集合存放的类型可以是不是一种(不添加泛型的时候时Object类型)
    4.数组是java语言中内置的数据类型,是线性排序,执行效率或者类型查询是最快的
    5.集合以接口和类的形式存在具有封装,继承和多态等类的特征,通过简单的方法和调用即可是实现各种复杂的操作,大大提高软甲的开发效率
    

    集合框架

    * |----Collection接口:单列集合,用来存储一个一个的对象
    * 	|----List接口:存储有序的、可重复的数据。 -->“动态”数组
    * 		|----ArrayList、LinkedList、Vector
    *
    *	 |----Set接口:存储无序的、不可重复的数据 -->高中讲的“集合”
    * 		|----HashSet、LinkedHashSet、TreeSet
    *
    * |----Map接口:双列集合,用来存储一对(key - value)一对的数据 -->高中函数:y = f(x)
    * 	|----HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
    

    集合框架使用场景

    集合根据存储结构分为两大类

    1. 单列集合 java.util.collection;

    2. 双列集合 java.util.Map;

    • Collection

      1. 定义的是所有的单列集合中共性的API方法

        所有的单列集合都可以使用共性的方法

      2. 没有带索引的方法

    • List接口

      1. 有序的集合存储何取出元素的顺序相同

      2. 允许存储相同的元素

      3. 有索引,可以普通的for循环遍历

    • Set接口

      1. 不允许存储重复性的元素
      2. 没有索引(不能使用重复的元素)
    • Collection集合常用功能

      Collection集合是所有单列集合的父类接口,在Collection集合中定义所有单列集合的共性的API方法,这些方法适用于所有的单列集合。
      boolean add​(E e)  把给定的对象添加到当前的集合中 
      	'一般情况下返回true,所以可以不用接受'
      addAll​(Collection coll)  将指定集合中的所有元素添加到此集合
      int size​() 获取集合元素的个数
      boolean isEmpty​() 判断当前集合是否为空(空是指元素)
      void clear​() 清空集合当中的所有的元素
      boolean contains​(E e) 判断当前集合当中是否包含指定的元素
      containsAll​(Collection coll) 	如果此集合包含指定集合中的所有元素,则返回 true 。 
      boolean remove​(E e)	把给定的对象从当前集合当中删除掉
      removeAll​(Collection coll)  删除指定集合中包含的此集合的元素(可选操作),低调用返回后此集合不包含与指定集合相同的元素. 
      	'参数coll()包含要从此集合中删除的元素的集合'
      retainsAll​(Collection coll) 仅保留此集合中包含在指定集合中的元素(可选操作)。 换句话说,从该集合中删除所有不包含在指定集合中的元素。
      	'参数 coll包含要保留在此集合中的元素的集合'
      equals​(Object obj) 将指定的对象与此集合进行比较以获得相等性。 
      hasCode​() 	返回此集合的哈希码值。
      Object[] toArray() 把集合中的元素,存储到一个数组中
      Iterator<E> iterator​() 返回此集合中元素的迭代器。
      //如果在创建集合时,没有指定集合存储元素的数据类型,系统或默认成Object类型。
      

  • 相关阅读:
    Path Sum
    Binary Tree Level Order Traversal II
    Jump Game
    leedcode 刷题-V2
    (2016 年) githup 博客地址 : https://github.com/JMWY/MyBlog
    算法分类总结
    剑指 Offer 题目汇总索引
    LeedCde 题解目录
    趣味算法总目录
    常用
  • 原文地址:https://www.cnblogs.com/zk2020/p/14070439.html
Copyright © 2011-2022 走看看