Java入门—集合

简介: 应用场景:无法预测存储数据的数量同时存储具有一对一关系的数据需要进行数据的增删数据重复问题集合概览image.pngList(列表)List是元素有序并且可以重复的集合,称为序列。

应用场景:

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

集合概览

img_0f1ed916e37dfc46075d7e1a8742421f.png
image.png

List(列表)

  • List是元素有序并且可以重复的集合,称为序列。
  • List可以精确控制每个元素的插入位置,或者删除某个为止的元素。
  • List两个主要实现类是ArrayList 和 LinkedList。

ArrayList 和 LinkedList 两者的数据存储方式是不同的:

  • ArrayList :和数组相似,但是长度可以动态增长,在内存中的一片连续存储空间进行存储
  • LinkedList:本身是链表

Set

无序、不重复集合。

HashSet
  • HashSet是Set的一个重要实现类,称为哈希集。
  • HashSet中元素无需并且不可重复。
  • HashSet中只允许一个null元素。
  • 具有良好的存取和查找性能。

HashSet底层是hashMap。

遍历HashSet需要使用迭代器方法。

Iterator(迭代器)
  • Iterator接口可以以统一的方式对各种集合元素进行遍历
  • hasNext()方法检测集合中是否还有下一个元素(返回ture或false)
  • next() 方法返回集合中的下一个元素
import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;

public class TestIterator {
    public static void main(String[] args){
        Set s = new HashSet();
        s.add("allen");
        s.add("ming");
        s.add("hello");
        Iterator it = s.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }

    }
}

Map

  • Map中的数据是以键值对(key-value)形式存储的
  • key-value以Entry类型的对象实例存在
  • 通过key可以快速查找value值
  • 不能包含重复的建(key值必须唯一)
HashMap
  • 基于哈希表的Map接口实现
  • 允许使用null值和null键值
  • HashMap中Entry对象时无序排列的

总结

ArrayList
  • 底层由数组实现
  • 元素有序且可以重复
  • 可以动态增长,以满足应用程序的需求
  • 元素值可以为null
HashSet
  • 元素无序并且不可以重复
  • 只允许一个null元素
HashMap
  • 键不能重复
  • 允许使用null值和null键
  • HashMap中的Entry对象是无序排列的
Iterator(迭代器)
  • Iterator接口以统一的方式对各种集合元素进行遍历


    img_58b1a3e3555955498d5d9788439549ae.png
    image.png
目录
相关文章
|
5天前
|
Java 容器
java集合框架复习----(1)
这篇文章提供了Java集合框架的复习资料,包括集合的概念、Collection接口的使用,以及如何通过代码示例演示集合的操作,如增加、删除元素,以及遍历集合元素。
java集合框架复习----(1)
|
4天前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
2天前
|
设计模式 前端开发 Java
【前端学java】SpringBootWeb极速入门-分层解耦(03)
【8月更文挑战第13天】SpringBootWeb极速入门-分层解耦(03)
8 2
【前端学java】SpringBootWeb极速入门-分层解耦(03)
|
3天前
|
开发框架 前端开发 Java
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
【8月更文挑战第12天】SpringBootWeb极速入门-实现一个简单的web页面01
14 3
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
|
3天前
|
JSON 前端开发 Java
【前端学java】SpringBootWeb极速入门-请求参数解析(02)
【8月更文挑战第12天】SpringBootWeb极速入门-请求参数解析(02)
9 1
【前端学java】SpringBootWeb极速入门-请求参数解析(02)
|
5天前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
5天前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
5天前
|
存储 Java
java集合框架复习----(3)Set
这篇文章详细介绍了Java集合框架中的Set集合,包括HashSet和TreeSet的特点、实现原理和使用示例,展示了Set集合的无序性、元素唯一性以及如何通过自定义比较器实现元素的排序。
|
5天前
|
存储 安全 Java
java集合框架学习笔记
这篇文章是关于Java集合框架的详细学习笔记,包括集合的概念、使用方式以及List、Set和Map等集合类型的具体实现和特点。
java集合框架学习笔记
|
6天前
|
Java
Java 新手入门:重载和重写傻傻分不清?一篇文章带你清晰理解!
Java 新手入门:重载和重写傻傻分不清?一篇文章带你清晰理解!
16 0
Java 新手入门:重载和重写傻傻分不清?一篇文章带你清晰理解!