目录
一、HashSet
-
HashSet1.7版本原理:数组+链表;
-
HashSet1.8版本原理:数组+链表+红黑树;
二、可变参数
可变参数:就是形参的个数是可以变化的
- 格式:修饰符 返回值类型 方法名(数据类型… 变量名) { }
- 范例:public static int sum(int… a) { }
可变参数注意事项
- 这里的变量其实是一个数组
- 如果一个方法有多个参数,包含可变参数,可变参数要放最后
可变长数组:
package com.gkl.service;
public class SetDemo {
public int sum(int... numbers) {
int sum = 0;
for (int number : numbers) {
sum += number;
}
return sum;
}
public static void main(String[] args) {
SetDemo setDemo=new SetDemo();
//可变长数组
int sum=setDemo.sum(12,33,55,66,98,34);
System.out.println(sum);
}
}
三、 不可变的集合
不可变集合 + 泛型 = 数组:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(23);
list.add(2);
//不可变集合
List<Integer> newList = list.of(4,6,8);
//不能添加元素
newList.add(9);
}
四、Stream流
1、Stream流的获取方法
- 单列集合:可以使用Collection接口中的默认方法stream()生成流:default Stream<E> stream() ;
- 双列集合:间接的生成流,可以先通过keySet</