Collections工具类

Collections工具类

Collections工具类使用

在集合框架中给我们提供相应的工具类,这个工具类存放在java.util包中,类名是Collections,它是专门用来操作集合的工具类,并且其中的方法都是静态的,不需要创建对象就可以使用。

1,获取Collection最值。

public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) 获取集合中最大元素(按照默认比较方式)

public static T max(Collection<? extends T> coll,Comparator<? super T> comp)获取集合中最大元素(按照指定比较器比较方式)

public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)获取集合中最小元素(按照默认比较方式)

public static T min(Collection<? extends T> coll,Comparator<? super T> comp)获取集合中最小元素(按照指定比较器比较方式)

2,对List集合排序,也可以二分查找。

public static <T extends Comparable<? super T>> void sort(List list)对集合排序(按照默认比较方式)

public static void sort(List list,Comparator<? super T> c)对集合排序(按照指定比较器比较方式)

public static int binarySearch(List<? extends Comparable<? super T>> list,T key)二分法查找

3,对排序逆序。

public static Comparator reverseOrder() 对集合原有排序强行逆转

4,可以将非同步的集合转成同步的集合。

public static List synchronizedList(List list)将非同步List集合转成同步List集合

5,获取任意集合的枚举对象

public static Enumeration enumeration(Collection c)

这些方法只需要练习,掌握其使用规律即可。它们都是用来辅助我们操作集合的。

Arrays工具类-集合和数组的互转

Arrays:用于操作数组的工具类。类中定义的都是静态工具方法

1,对数组排序。sort

2,二分查找。binarySearch

3,数组复制。copyOf

4,对两个数组进行元素的比较,判断两个数组是否相同。equals

5,将数组转成集合。public static List asList(T… a)

数组的其他方法,在第五天学习数组时,咱们都做过简单介绍,这里重点介绍将数组转成集合。

为什么将数组转成集合?就为了使用集合的方法操作数组中的元素。但是不要使用增删等改变长度的方法。add remove 发生UnsupportedOperationException,把数组转成集合后,集合的长度是固定,无法增删。

注意一下细节问题:

int[] arr = {34,21,67};
List list = Arrays.asList(arr);
System.out.println(list);
结果:[[I@18b3364]

如果数组中存储的是基本数据类型,那么转成集合,数组对象会作为集合中的元素存在。

数组中元素时引用数据类型时,转成,数组元素会作为集合元素存在。

Integer[] arr = {34,21,67};
List list = Arrays.asList(arr);
System.out.println(list);
结果:[34, 21, 67]

集合转成数组:使用Collections中的toArray方法。

Collection<String> c = new ArrayList<String>();
c.add("haha1");
c.add("haha2");
c.add("haha3");
c.add("haha4");
String[] str_arr = c.toArray(new String[c.size()]);
System.out.println(Arrays.toString(str_arr));

如果传递的数组的长度小于集合的长度,会创建一个同类型的数组长度为集合的长度。

如果传递的数组的长度大于了集合的长度,就会使用这个数组,没有存储元素的位置为null。

长度最好直接定义为和集合长度一致。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值