HashMap的基本使用

HashMap是Map里的一个实现类

底层是哈希表结构的

依赖hashcode方法和equals方法保证键的唯一

如果键存储的是自定义对象,需要重写这两个方法

如果值存储自定义对象不需要重写

LinkedHashMap

由键决定:有序,不重复,无索引

存取顺序一致

底层数据结构是哈希表,知识每个键值对元素又额外多了一个双链表来记录存储的顺序

TreeMap

跟Treeset底层一样,都是红黑树

不重复,无索引,可排序

排序规则

实现Comparable接口,指定规则

创建集合是传递比较器对象

可变参数

格式:属性类型...名字

int...args

复制代码
        /*
         * 假设需要定会一一个方法,可以计算n个数的和
         *
         * */
        System.out.println(getSum(1, 2, 3, 4));
    }

    /*
     * 底层
     * 可变参数底层是一个数组
     *
     * */
    public static int getSum(int... args) {
//        System.out.println(args);
        int sum = 0;
        for (int i : args) {
            sum += i;
        }
        return sum;
    }
}

可变参数的细节

复制代码
    public static void main(String[] args) {
        //可变参数的小细节
        //1.在方法的形参中最多只能写一个可变参数
        //可变参数有多少吃多少
        
        //2.在方法中,如果出现了可变参数以外的参数,可变参数要放最后
        
    }
    public static int getSum(int a,int...args){
        return 0;
    }
}

Collections

是集合的工具类

public static <T> boolean addAll(Collection<T> c,T...elements) 批量添加元素

public static void shuffle(List<?> list ) 打乱集合元素的顺序

创建不可变集合

<>.of

复制代码
/*
* 创建不可变集合
* */

List<String> list = List.of("1", "2");
list.add("a");
System.out.println(list);

获取不可变Set集合时,必须保证键的唯一性

Map集合参数是有上线的,只能存10个键值对,如果要传递多个键值对对象,可以把键跟值看成一个整体,传递进去

超过十个可以用copyof方法

相关推荐
sunxunyong11 分钟前
doris运维命令
java·运维·数据库
菜鸟起航ing12 分钟前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
古城小栈29 分钟前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
hetao173383732 分钟前
2025-12-12~14 hetao1733837的刷题笔记
数据结构·c++·笔记·算法
一直都在57237 分钟前
数据结构入门:时间复杂度与排序和查找
数据结构
MapGIS技术支持40 分钟前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
Coder_Boy_43 分钟前
业务导向型技术日志首日记录(业务中使用的技术栈)
java·驱动开发·微服务
程序员zgh1 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子1 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式
by__csdn2 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript