八、Java集合其他知识
一、泛型
概述:将引用数据类型向参数一样进行传递
泛型的好处:对于大数据学习过程中,大部分情况下,泛型只会出现在集合的知识点中
1、去除了大量的黄色警告线,让程序美观且严谨
2、获取元素的时候,不需要再向下转型了
定义格式:泛型类,泛型接口,泛型方法
高级定义格式:
<?> 任意类型,如果没有明确,那么就是Object以及任意的Java类了
<? extends E> 向下限定,E及其子类
<? super E> 向上限定,E及其父类
二、增强for循环(只用于Collection集合或数组)
概述:为了简化Collection集合和数组的遍历,java提供了另外一种遍历方式:增强for循环
语法定义格式:for(元素数据类型 变量名:Collection集合或者数组){
操作变量名;
}
用来替代迭代器
package com.shujia.day11; import java.util.ArrayList; public class ZengForDemo1 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("hello"); list.add("world"); list.add("jva"); list.add("hlo"); list.add("hadoopo"); for(String s : list){ System.out.println(s); } } }
三、静态导入
概述:导入级别是静态方法
作用: 通过静态导入,我们可以方便地使用某个类的静态成员,提高代码的可读性和编写效率
语句定义格式:import static xxx.xxx.xxx.某静态方法
注意:如果本类中有与静态导入的方法重名的时候,默认就近原则调用本类中的静态方法
四、可变参数
概述:在定义方法时,在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。
语句定义格式:方法参数上定义 数据类型... 参数名
注意:如果方法参数中有可变参数和其他类型参数的时候,必须将可变参数定义在最后一个
五、Collections工具类
概述:是java专门提供我们操作集合的工具类
静态成员方法:
public static <T> void sort(List<T> list) 排序
public static <T> int binarySearch(List<?> list,T key) 二分查找
public static <T> T max(Collection<?> coll) 返回最大值
public static void reverse(List<?> list) 反转
public static void shuffle(List<?> list) 随机打乱顺序
将不安全的集合变成安全的集合
static <T> Collection<T> synchronizedCollection(Collection<T> c) 返回由指定集合支持的同步(线程安全)集合。
static <T> List<T> synchronizedList(List<T> list) 返回由指定列表支持的同步(线程安全)列表。
static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) 返回由指定地图支持的同步(线程安全)映射。
static <T> Set<T> synchronizedSet(Set<T> s) 返回由指定集合支持的同步(线程安全)集。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!