java collections使用_Java基础之Collections工具类使用

原标题:Java基础之Collections工具类使用

76e63ec07e055cafc389f32a00127a65.png

Collections工具类位于java.util包下,这个类包括了专门的静态方法,操作或返回集合对象,它包括了各种操作集合对象的算法。现在我们将对这个工具类的所有公共方法进行分析。

1、public static>void sort(Listlist)列表排序方法。

示例:

publicstatic> voidsort(List list) 该方法对指定的List对象排序,我们来看看这个方法的原代码:

publicstatic> voidsort(List list) {

Object[] a = list.toArray();//将List对象转换成Object数组

Arrays.sort(a);//用数组工具类进行排序

ListIterator i = list.listIterator();//将List对象变成迭代对象

for(intj=0; j

i.next();

i.set((T)a[j]);//重新赋值

}

}

我们并不难发现,这个方法是先将List对象转换成数组,然后用数组工具类Arrays的sort方法进行排序,然后将排序后的数组元数重新赋值给这个List对象。

2、public static void reverse(List >list)对指定List进行反转,即倒排list里的所有元素。

示例:

List listTest=newArrayList();

listTest.add("1");

listTest.add("2");

listTest.add("3");

listTest.add("4");

listTest.add("5");

System.out.println("List对象listTest反转前内部元素为:"+listTest.toString());

Collections.reverse(listTest);

System.out.println("List对象listTest反转后内部元素为:"+listTest.toString());

运行结果:

List对象listTest反转前内部元素为:[1, 2, 3, 4, 5]

List对象listTest反转后内部元素为:[5, 4, 3, 2, 1]

3、public static void shuffle(List >list) 随机打乱list对象中的元素。

示例:

List listTest=newArrayList();

listTest.add("1");

listTest.add("2");

listTest.add("3");

listTest.add("4");

listTest.add("5");

System.out.println("List对象listTest打乱前内部元素为:"+listTest.toString());

Collections.shuffle(listTest);

System.out.println("List对象listTest打乱后内部元素为:"+listTest.toString());

运行结果:

List对象listTest打乱前内部元素为:[1, 2, 3, 4, 5]

List对象listTest打乱后内部元素为:[3, 1, 4, 2, 5]

4、public static void rotate(List> list, int distance)将指定的LIST对象中的元素按指定的距离旋转,当distance为正数时,从高位到低位旋转,当distance为负数时从低位向高位旋转。

示例1:

List listTest=newArrayList();

listTest.add("1");

listTest.add("2");

listTest.add("3");

listTest.add("4");

listTest.add("5");

System.out.println("List对象listTest旋转前内部元素为:"+listTest.toString());

Collections.rotate(listTest, 2);//当2为负数时是低位向高位旋转

System.out.println("List对象listTest高位向低位旋转2位后内部元素为:"+listTest.toString());

运行结果:

List对象listTest旋转前内部元素为:[1, 2, 3, 4, 5]

List对象listTest高位向低位旋转2位后内部元素为:[3, 4, 5, 1, 2]

示例2:

List listTest=newArrayList();

listTest.add("1");

listTest.add("2");

listTest.add("3");

listTest.add("4");

listTest.add("5");

System.out.println("List对象listTest旋转前内部元素为:"+listTest.toString());

Collections.rotate(listTest, -2);//当2为负数时是低位向高位旋转

System.out.println("List对象listTest低位向高位旋转2位后内部元素为:"+listTest.toString());

运行结果:

List对象listTest旋转前内部元素为:[1, 2, 3, 4, 5]

List对象listTest低位向高位旋转2位后内部元素为:[3, 4, 5, 1, 2]

=========================

每周二、四、六

联系方式:

=========================

"阅读原文",获取名额返回搜狐,查看更多

责任编辑:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值