首页 > 编程语言 >java复习随笔(四)——集合

java复习随笔(四)——集合

时间:2022-09-03 22:12:04浏览次数:71  
标签:java 复习 ArrayList 元素 Collection TreeSet 集合 随笔 LinkedList

集合

Collection单列

Collection单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素。
JDK不提供此接口的任何实现,它提供更具体的子接口(如set和list)的实现。创建Collection对象采用多态的方式。

Collection子类——List可重复集合

  1. ArrayList
    ArrayList数据结构是动态数组
  2. LinkedList
    LinkedList数据结构是双向链表

两者区别:

  1. 数据结构不同。
  2. 线程安全性来说ArrayList是线程不安全的,而LinkedList是线程安全的。
  3. 效率不同,随机访问list时,ArrayList比LinkedList更加高效。
  4. 空间灵活性不同,ArrayList随着元素增加需要不断增加指定容量。而LinkedList则无需指定容量。
  5. 主要开销不同,ArrayList主要控件开销在于需要list列表预留一定空间,而LinkedList主要控件开销在于需要存储节点信息以及节点指针。

Collection子类——Set不可重复集合

Set不包含重复元素的集合。其次Set没有带索引方法,所以不能使用普通for循环。

  1. HashSet

    • HashSet对迭代次序不做任何保证。
    • HashSet通过hashCode和equals方法保证元素唯一性。
    • 可以通过重写hashCode和equals方法,来比较元素是否重复。
  2. TreeSet

    • TreeSet集合中的元素按照一定的规则进行排序,具体排序方式取决于构造方法。
      • TreeSet():根据元素的自然顺序进行排序
      • TreeSet(Comparator comparator):根据指定的比较器进行排序
    • 没有索引方法,所以不能使用普通for循环进行遍历。

Map双列

Map子类——HashMap

标签:java,复习,ArrayList,元素,Collection,TreeSet,集合,随笔,LinkedList
From: https://www.cnblogs.com/maplerain/p/16653548.html

相关文章

  • Javaweb-JDBC
    JDBC什么是JDBCJDBC(JavaDataBaseConnectivity)是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写的类和接口组成。各种不......
  • Java 遍历方式
    一、遍历方式迭代器增强for循环普通for循环二、使用迭代器:publicclassIteratorMethod{publicstaticvoidmain(String[]args){Collection<Str......
  • Java测试石家庄铁道大学公寓管理系统
    1、定义公寓类,类名:RoomInformation,其中包括五个私有变量(roomno,stunno1,stunno2,stunno3,stunno4,hygienescore)。各成员的含义如下:变量roomno为字符串类型String,最长八位,用......
  • JAVA学习笔记
    Day01 final关键字如果final修饰类中的某一个属性,那么这个属性只能通过构造函数确定值,在确定值以后不能被更改如果final修饰类,那么这个类的实例只能指向一个对象,对象......
  • Java 泛型与通配符 定义与使用
    一、泛型定义:把类型明确的工作推迟到创建对象或调用方法时才明确的类型,简而言之,未明确的数据类型。类型:泛型类,泛型方法,方形接口。格式泛型类格式:class类名<E变量......
  • 8.9.1元组集合的复习回顾
      ......
  • 开学的JavaScript第一次测试
    这次的课堂测试我的成绩并不理想,经过一些时间的反思,我总结了一些不周到的原因,首先是我在做老师的给定的程序是没有仔细阅读,没有看到一些具体的要求,导致多米诺古效应,所以进......
  • JavaConfig和XML之间的互相引用
    JavaConfig引用JavaConfig  现在,我们临时假设PersonConfig已经变得有些笨重,我们想要将其进行拆分。当然,它目前只定义了两个bean,远远称不上复杂的Spring配置。不过......
  • JavaScript 非运算(!)之双感叹号的使用技巧
    我的另一篇博文中提到JavaScript有哪些是假值,哪些是真值。对于null、undefined、"",等一些假值,JavaScript直接视为false。我有一个需求,判断从浏览器中获取的Cookie是......
  • 【设计模式】Java设计模式 -工厂模式
    【设计模式】Java设计模式-工厂模式......