• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java基础之Collections工具类使用

java 程序员 7年前 (2018-03-28) 165次浏览 已收录 0个评论

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

1、public static<T esends Comparcable<? super T>> void sort(List<T>list)列表排序方法。

示例:

public static <T extends Comparable<? super T>> void sort(List<T> list) 该方法对指定的List对象排序,我们来看看这个方法的原代码:public static <T extends Comparable<? super T>> void sort(List<T> list) {

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

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

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

for (int j=0; j<a.length; j++) {//遍历排序后的数组

i.next();

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

}

}

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

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

示例:

List listTest=new ArrayList();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反转前内部元素为:[12345]List对象listTest反转后内部元素为:[54321]

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

示例:

List listTest=new ArrayList();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打乱前内部元素为:[12345]List对象listTest打乱后内部元素为:[31425]

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

示例1:

List listTest=new ArrayList();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旋转前内部元素为:[12345]List对象listTest高位向低位旋转2位后内部元素为:[34512]

示例2:

List listTest=new ArrayList();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旋转前内部元素为:[12345]List对象listTest低位向高位旋转2位后内部元素为:[34512]


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java基础之Collections工具类使用

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址