网站首页 > java教程 正文
单列集合小结
List:有序,有索引,元素可重复
ArrayList:底层是数组,查询快,增删慢,线程不安全,效率高
LinkedList:底层是链表,查询慢,增删快, 线程不安全,效率高
Set:无序,无索引,元素不可重复
HashSet:底层是哈希表(JDK1.8之后:数组+链表+红黑树,JDK1.8之前:数组+链表)
增删和查询都比较快。线程不安全,效率高
LinkedHashSet:继承HashSet,底层是哈希表+链表,能够保证存取顺序一致
如何选择集合
判断是否要求要存储重复元素
如果要求元素可重复,则在List集合下选择
如果需要执行大量的增删操作,则选择LinkedList
如果只需要执行查询操作,则选择ArrayList
如果要求不可重复,则在Set集合下选择
如果要求存取顺序一致,则选择LinkedHashSet,否则可以随便选择
可变参数
可变参数的概述
JDK1.5新特性,参数个数可以是任意个
格式:数据类型...变量名
本质:数组
可变参数的注意事项
一个方法参数列表中只能有一个可变参数且只能出现在参数列表的最后一个
示例
public class Demo {
public static void main(String[] args){
System.out.println(sum(2,3));
System.out.println(sum(2,3,4));
System.out.println(sum(2));
System.out.println(sum(2,4,234,15,258,26,2,62,5,15,16,18,2,6));
}
public static int sum(int...arr){
// 定义求变量
int result = 0;
for(int num:arr ){
result += num;
}
return result;
}
}
猜你喜欢
- 2024-11-06 35个编码小细节,助你有效提升Java代码的执行效率!网友:学到了
- 2024-11-06 35个Java 代码优化细节(seo 代码优化)
- 2024-11-06 Java 性能优化:35 个小细节,提升你的 Java 代码运行效率
- 2024-11-06 二十二、Java中的函数与方法(java 函数)
- 2024-11-06 java高级用法之:JNA类型映射应该注意的问题
- 2024-11-06 最全面的44个Java性能调优细节(四个全面中哪个最具有基础性)
- 2024-11-06 尚学堂知识整理:java可变长度数组
- 2024-11-06 阿里强制要求的21条Java开发规范,可以避免很多坑
- 2024-11-06 面试题:为什么 Java 中的 String 被设计为不可变类?
- 2024-11-06 第五章:Java方法和参数传递(java中方法的参数传递是什么调用)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)