使用Java怎么对数组去重与排序

  介绍

这篇文章将为大家详细讲解有关使用Java怎么对数组去重与排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

//,声明int 数组,并初始化   int [], intArry =,{5、4、7、8、2 0, 1, 9日,3、6、10};//,对int数组进行排序   Arrays.sort (intArry);

Junit测试类源码:

package  com.gjnote.test.array;   import  java.util.Arrays;   import  org.junit.Test;   public  class  TestArraysSort  {//,声明int 数组,并初始化   int [], intArry =,{5、4、7、8、2 0, 1, 9日,3、6、10};   @Test   public  void 测试(),{//,对int数组进行排序   Arrays.sort (intArry);   for  (int 小姐:=,0;,小姐:,lt;, intArry.length;,我+ +),{   System.out.println (intArry[我]);   }   System.out.println (Arrays.toString (intArry));   }   }

控制台输出

0
1
2
3
4
5
6
7

8 9 10

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

<代码> java.util.Collections.sort()

通过实现内部<代码>与方法实现对象的比较

示例代码片段如下

/* *   *,使用,Collections.sort(列表,比较器(){});   *,对列表数组排序,推荐使用方法   */public  void  collectionsSortElement1 (List 列表),{   Collections.sort(列表,new 比较器(),{   @Override   public  int 比较(o1, String  String  o2), {//,根据实际排序需要调整compareTo对象顺序   return  (o2) .compareTo (o1群);   }   });   }

<强> Java实现对列表去重

方式一,使用的循环遍历去除列表中的重复元素

代码片段如下

List  tempList =, new  ArrayList ();//,去除原始中列表的重复元素   时间:for  (String  String  originalList), {   if  (! tempList.contains (string)), {   tempList.add(字符串);   }   }

方式二,使用集去重

代码片段如下

//, Set 利用组元素唯一性,去重   Set  Set =, new  HashSet (originalList);   List  tempList =, new  ArrayList(集);

方式三,使用TreeSet去除重复元素

TreeSet  TreeSet =, new  TreeSet (originalList);   时间=ListtempList  new  ArrayList ();   tempList.addAll (treeSet);//,treeSet 默认的排序为升序,根据实际情况添加是否需要反排的序   Collections.reverse (tempList);

<强> Java实现对列表去重后排序

Junit测试列表去重及排序源码

package  com.gjnote.test.array;   import  java.util.ArrayList;   import  java.util.Collections;   import  java.util.Comparator;   import  java.util.HashSet;   import 并不知道;   import  java.util.Set;   import  java.util.TreeSet;   import  org.junit.Before;   import  org.junit.Test;/* *   *,Test 类   *   List 数组去重,元素排序   *   *,@version  1.0   * @author  www.gjnote.com   *   */public  class  TestListArraySort  {   private  ListoriginalList =,空;   @Before   public  void 设置(),throws  Exception  {   时间=originalList  new  ArrayList ();   for  (int 小姐:=,10000;,小姐:和gt;, 0;,我——),{   originalList.add (“element", +, i);//,add  repeat 元素   如果小姐:%,2,==,0),{   originalList.add (“element", +, i);   }   }   }/* *   *,输出List 元素   *,@param 列表   */private  void  outputList (List 列表),{   for  (int 小姐:=,0;,小姐:,lt;, list.size();,我+ +),{   System.out.println (list.get (i));   }   }/* *   *,使用,Collections.sort(列表,比较器(){});   *,排序,推荐方法   */private  void  collectionsSortElement (List 列表),{   long  start =, System.currentTimeMillis ();   Collections.sort(列表,new 比较器(),{   @Override   public  int 比较(o1, String  String  o2), {//,根据实际排序需要调整compareTo对象顺序   return  o2.compareTo (o1群);   }   });//outputList (tempList);   System.out.println (“Collections.sort:“   +,(System.currentTimeMillis(),安康;开始),+,“ms");   }/* *   *,测试,使用的循环遍历去除重复元素   *,Collections.sort排序   */@Test   public  void  testForLoopRemoveRepeatElement (), {   System.out.println (“testForLoopRemoveRepeatElement");   long  start =, System.currentTimeMillis ();   List  tempList =, new  ArrayList ();//,去除重复元素   时间:for  (String  String  originalList), {   if  (! tempList.contains (string)), {   tempList.add(字符串);   }   }//,排的序   collectionsSortElement (tempList);//outputList (tempList);   System.out.println(“使用的循环遍历列表,去除重复元素:,“   +,(System.currentTimeMillis(),安康;开始),+,“ms");   }/* *   *,测试,使用集去重;   *,使用Collections.sort(列表,比较器(){});排序   *   */@Test   public  void  testSetRemoveRepeatElement (), {   System.out.println (“testSetRemoveRepeatElement");   long  start =, System.currentTimeMillis ();//,先排序,(理论值:先排序后去重会比后排序效率更高)   collectionsSortElement (originalList);//,Set 利用组元素唯一性,去重   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用Java怎么对数组去重与排序