闫平平
写代码也要酷酷的!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

首先:Collection是List集合和Set集合的父类,同时,它们三个都为接口,不能直接实例化,所以需要,List和set的子类来实例化。

List的子类:

ArrayList类和LinkedList

1、ArrayList类:底层采用的是数组结构

 LinkedList类:底层采用的是链式结构,每次查询都是从头或者从尾开始,查询速度相对较慢

        特有方法:removeFirst  removeLast

Set的子类:

HashSet类和LinkedHashSet

1)Set接口概述
        一个不包含重复元素的 collection,无序(存储顺序和取出顺序不一致),唯一。  (List有序,即存储顺序和取出顺序一致,可重复)
    2)Set案例
        存储字符串并遍历
        存储自定义对象并遍历
 
2、HashSet
    1)HashSet类概述
        不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。
    2)HashSet如何保证元素唯一性
        底层数据结构是哈希表(元素是链表的数组)
        哈希表依赖于哈希值存储
        添加功能底层依赖两个方法:
            · int hashCode()
            · boolean equals(Object obj)
代码实例:
复制代码
 1 package com.aaa.demo2;
 2 
 3 import java.util.HashSet;
 4 import java.util.Set;
 5 
 6 public class HashSetDemo {
 7     public static void main(String[] args){
 8         Set<String> set=new HashSet<String>();
 9         set.add("hello");
10         set.add("java");
11         set.add("hello");
12         //for增强
13         for (String s:set){
14             System.out.println(s);
15         }
16     }
17 }
复制代码

输出结果(不存储重复的):

hello
java

 

posted on   写代码也要酷酷的  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
 
点击右上角即可分享
微信分享提示