LinkedHashSet集合、可变参数
LinkedHashSet集合
具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,即按照将元素插入到集合中的顺序(插入顺序)进行迭代
LinkedHashSet集合的特点:
底层是个哈希表(数组+链表/红黑数)+链表:多了一条链子(记录元素的储存顺序)
案例:
public static void main(String[] args) {
/*有序
* 不重复
* */
LinkedHashSet<String> set = new LinkedHashSet<>();
set.add("ccc");
set.add("www");
set.add("abc");
set.add("abc");
set.add("111");
set.add("333");
System.out.println(set);
/*无序
* 不重复
* */
System.out.println("==============");
HashSet<String> set1 = new HashSet<>();
set1.add("ccc");
set1.add("www");
set1.add("abc");
set1.add("abc");
set1.add("111");
set1.add("333");
System.out.println(set1);
}
}
看输出:
可变参数
可变参数是jdk1.5之后h出现的新特性
使用前提:
当前方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用变参数
使用格式:定义方法的时候使用
修饰符 返回值类型 方法名(数据类型..遍历名){}
可变参数的原理:
可变参数底层就是一个 数组,根据传递参数的个数不同,会创建不同长度的数组,来储存这些参数
传递的参数个数,可以是0个(不传递)
案例:
public class aa {
public static void main(String[] args) {
int aa = aa(10, 20, 1, 30, 4);
System.out.println(aa);
}
public static int aa(int...aa){
int a =0;
for (int i : aa) {
a+=i;
}
return a;
}
}
这样,我们传入多个数 就不用单个定义方法啦
分类:
基础+进阶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY