JAVA基础——【笔记】14.集合
创始人
2024-04-08 21:42:36
0

集合的框架体系:

image-20221015185954715 image-20221015192847861

List等接口的实现子类有很多,仅列出常用的。

  • 数组的不足(集合需求的出现):
image-20221015190412631
  • 集合特点:
image-20221015190656394

一、Collection接口方法

image-20221015193442857

1、Collection常用方法及其用法:

(Collection为接口,不能直接实例化,需要类实现接口)

image-20221015194726546

2、Collection接口遍历元素方式

如果是Collection接口,可以用迭代器和增强for循环两种方式遍历,如果是List接口的子类还能用普通for

① 使用Iterator(迭代器)

image-20221015200415024

迭代器原理:

image-20221015201740909

示例:

image-20221015204112758

② 使用 增强for循环

image-20221015204811556

示例:

image-20221015205056655

③普通for循环

image-20221017210951323

二、List接口和常用方法

1、List接口介绍:

image-20221017192834270

List集合的元素有序、可重复、有索引(0开始)

2、List接口常用方法:

image-20221017201633940

3、ArrayList注意事项

image-20221018195500104

4、ArrayList扩容机制

image-20221018200632737

5、Vector注意事项

  • 基本介绍
image-20221018212428734

多线程时更适合用Vector,其是线程安全的

  • ArrayList比较Vector
image-20221018212943964

6、LinkedList

  • 说明
image-20221019155502030
  • LinkedList的底层操作机制

添加删除操作效率更高,不是通过数组扩容

image-20221019160609716
  • LinkedList的增删改查案例
image-20221019171009428
  • ArrayList和LinkedList的比较
image-20221019171842481

三、set接口和常用方法

1、基本介绍

image-20221019173731229

添加和取出的顺序不一样,但取出的顺序是固定的,即每次运行都是固定顺序

2、常用方法

image-20221019173832308

实例:

image-20221019174410449

3、HashSet

①说明

image-20221019202046091 image-20221019203720402 image-20221107185341787

②HashSet扩容机制

image-20221107195923405

底层机制简要说明:

image-20221107214609642

4、LinkedHashSet

Set接口实现类—LinkedHashSet

说明:(有序,插入取出顺序一样,但插入表时不规律存储)、不重复)

image-20221108212410042

底层源码解读:

image-20221108213548231

三、Map接口

1、Map接口特点

  • Map接口常用方法
image-20221109213038753
  • key相同,value不同时,新value替代旧value

  • Map语法

    1、添加元素 .put
    map.put(key,value);
    2、通过get()方法获取key对应的value
    map.get("not")
    

2、Map接口常用方法

  • 常用方法
image-20221110201639112
  • Map接口六大遍历方式
image-20221110203040291

解析:

1、(少使用)

2、通过迭代器获取所有键(key),再通过map.get(key)遍历键来获取值 ⭐️

3、通过迭代/循环 EntrySet来获取K-V

4、直接获取所有值(value),再遍历

每种Map遍历方式中又包含可用增强for和迭代器两种遍历的方法.

小结:

image-20221113204027539

3、HashTable的基本介绍

  • 基本介绍
image-20221114165125911
  • 扩容机制:
image-20221114171358753

HashMap和HaspTable对比

image-20221114171602576**

4、Map接口实现类Properties

  • 基本介绍
image-20221114171720361
  • 常用基本方法:

增\删\改\查(获取值)

image-20221114173113664

四、集合选型

image-20221114173415977
  • 其中 :

List中:增删多:双链表增删更快; 改查多:通过数组的索引定位比较快;

插入和取出顺一致,但存储时是无序存储的;

TreeSet具备实现了Comparator接口的compare()方法,重写compare()方法可以自定义排序规则,对Integer类型数据存储顺序默认按数字从小到大排序,字母默认按从a-z排序.

TreeMap类似TreeSet,只是实现了compareable接口的compareTo()方法

五、Collections工具类

  • 介绍
image-20221114212800340
  • 例:
image-20221114212515921 image-20221114214247434

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
安卓文字转语音tts没有声音 安卓文字转语音TTS没有声音的问题在应用中比较常见,通常是由于一些设置或者代码逻辑问题导致的。本文将...
APK正在安装,但应用程序列表... 这个问题可能是由于以下原因导致的:应用程序安装的APK文件可能存在问题。设备上已经存在同名的应用程序...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...