亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java實現的數組去重與排序操作詳解

2024-07-14 08:41:29
字體:
來源:轉載
供稿:網友

本文實例講述了Java實現的數組去重與排序操作。分享給大家供大家參考,具體如下:

這里演示Java實現數組去重、排序操作

文中的示例源碼編寫基于Jdk1.6+、junit4.8.2

java.util.Arrays.sort()

支持對int[],long[],short[],char[],byte[],float[],double[],Object[]進行排序

參考示例代碼片段如下

// 聲明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};@Testpublic void test() {// 對int數組進行排序Arrays.sort(intArry);for (int i = 0; i < intArry.length; i++) {System.out.println(intArry[i]);}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()

通過實現內部compare方法實現對象的比較

示例代碼片段如下

/*** 使用 Collections.sort(list, Comparator(){});* 對List數組排序 推薦使用方法*/public void collectionsSortElement1(List list) {Collections.sort(list, new Comparator() {@Overridepublic int compare(String o1, String o2) {// 根據實際排序需要調整compareTo對象順序return (o2).compareTo(o1);}});}

Java實現對List去重

方式一,使用for循環遍歷去除List中的重復元素

代碼片段如下

List tempList = new ArrayList();// 去除原始List中的重復元素for (String string : originalList) {if (!tempList.contains(string)) {tempList.add(string);}}

方式二,使用Set去重

代碼片段如下

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

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

TreeSet treeSet = new TreeSet(originalList);ListtempList = new ArrayList();tempList.addAll(treeSet);// treeSet 默認的排序為升序,根據實際情況添加是否需要反排序Collections.reverse(tempList);

Java實現對List去重后排序

Junit 測試List去重及排序源碼

package com.gjnote.test.array;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.TreeSet;import org.junit.Before;import org.junit.Test;/*** Test Class*List 數組去重 元素排序** @version 1.0* @author www.gjnote.com**/public class TestListArraySort {private ListoriginalList = null;@Beforepublic void setUp() throws Exception {originalList = new ArrayList();for (int i = 10000; i > 0; i--) {originalList.add("element" + i);// add repeat elementif(i % 2 == 0) {originalList.add("element" + i);}}}/*** 輸出List 元素* @param list*/private void outputList(List list) {for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}/*** 使用 Collections.sort(list, Comparator(){});* 排序 推薦方法*/private void collectionsSortElement(List list) {long start = System.currentTimeMillis();Collections.sort(list, new Comparator() {@Overridepublic int compare(String o1, String o2) {// 根據實際排序需要調整compareTo對象順序return o2.compareTo(o1);}});//outputList(tempList);System.out.println("Collections.sort:"+ (System.currentTimeMillis() - start) + "ms");}/*** 測試 使用for循環遍歷去除重復元素* Collections.sort排序*/@Testpublic void testForLoopRemoveRepeatElement() {System.out.println("testForLoopRemoveRepeatElement");long start = System.currentTimeMillis();List tempList = new ArrayList();// 去除重復元素for (String string : originalList) {if (!tempList.contains(string)) {tempList.add(string);}}// 排序collectionsSortElement(tempList);//outputList(tempList);System.out.println("使用for循環遍歷List,去除重復元素: "+ (System.currentTimeMillis() - start) + "ms");}/*** 測試 使用Set去重;* 使用Collections.sort(list, Comparator(){});排序**/@Testpublic void testSetRemoveRepeatElement() {System.out.println("testSetRemoveRepeatElement");long start = System.currentTimeMillis();// 先排序 (理論值:先排序后去重會比后排序效率更高)collectionsSortElement(originalList);// Set 利用Set元素唯一性,去重Set set = new HashSet(originalList);List tempList = new ArrayList(set);// 后排序 可以注釋先排序,開啟后排序試試運行時間//collectionsSortElement(tempList);//outputList(tempList);System.out.println("Collections.sort排序,使用Set去重:"+ (System.currentTimeMillis() - start) + "ms");}/*** 測試 使用 TreeSet去除重復元素* 默認排序或Collections.reverse翻轉排序*/@Testpublic void testTreeSetRemoveRepeatElement() {System.out.println("testTreeSetRemoveRepeatElement");long start = System.currentTimeMillis();TreeSettreeSet = new TreeSet(originalList);ListtempList = new ArrayList();tempList.addAll(treeSet);// treeSet 默認的排序為升序,根據實際情況添加是否需要反排序Collections.reverse(tempList);//outputList(tempList);System.out.println("使用 TreeSet排序,去除重復元素:"+ (System.currentTimeMillis() - start) + "ms");}@Testpublic void testMethods() {//outputList(originalList);// List 去重 推薦方法testSetRemoveRepeatElement();// 14mstestTreeSetRemoveRepeatElement();// 20ms//testForLoopRemoveRepeatElement();// 2525ms}}

運行testSetRemoveRepeatElement()控制臺輸出結果

testSetRemoveRepeatElement
Collections.sort:8ms
Collections.sort排序,使用Set去重:14ms

運行testTreeSetRemoveRepeatElement()控制臺輸出結果

testTreeSetRemoveRepeatElement
使用 TreeSet排序,去除重復元素:20ms

運行testForLoopRemoveRepeatElement()控制臺輸出結果

testForLoopRemoveRepeatElement
Collections.sort:7ms
使用for循環遍歷List,去除重復元素: 2525ms

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久噜噜噜精品国产亚洲综合| 欧美体内谢she精2性欧美| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美日韩精品在线观看| 欧美电影免费在线观看| 欧美日韩色婷婷| 国产精品成人观看视频国产奇米| 亚洲欧美制服丝袜| 91国语精品自产拍在线观看性色| 欧美性xxxxxxxxx| 亚洲人成啪啪网站| 亚洲男人天堂手机在线| 亚洲精品小视频在线观看| 91美女福利视频高清| 欧美日韩裸体免费视频| 中文字幕亚洲专区| 国产精品一区二区3区| 国产精品欧美激情在线播放| 国产日产欧美a一级在线| 亚洲一区二区在线| 欧美激情videos| 亚洲天堂免费观看| 精品五月天久久| 亚洲国产精品久久久| 在线电影欧美日韩一区二区私密| 亚洲欧美视频在线| 91国偷自产一区二区三区的观看方式| 亚洲综合精品一区二区| 国内精品久久久久伊人av| 国产亚洲精品成人av久久ww| www.亚洲人.com| 亚洲精品资源在线| 精品国内自产拍在线观看| 精品国偷自产在线视频99| 亚洲午夜未删减在线观看| 羞羞色国产精品| 青草热久免费精品视频| 精品少妇一区二区30p| 国产精品日韩在线观看| 欧美大片网站在线观看| 久久久久久免费精品| 国产精品久久激情| 欧美中文在线观看国产| 欧美超级免费视 在线| 久久精品这里热有精品| 欧美成人午夜影院| 国产精品青草久久久久福利99| 精品久久久国产精品999| 亚洲香蕉av在线一区二区三区| 国产精品亚洲аv天堂网| 亚洲人a成www在线影院| 欧美精品生活片| 懂色av一区二区三区| 色老头一区二区三区在线观看| 国产成人一区二区三区电影| 777777777亚洲妇女| 欧美日韩亚洲视频| 国产激情视频一区| 日韩中文字幕在线观看| 国模极品一区二区三区| 国产91精品久久久久久| 91国产一区在线| 国产日韩在线免费| 丝袜美腿亚洲一区二区| 日韩激情片免费| 日韩av电影手机在线| 久久精品视频99| 91免费版网站入口| 国产综合在线观看视频| 美女福利精品视频| 日本免费一区二区三区视频观看| 精品视频中文字幕| 欧美影院成年免费版| 色综合色综合网色综合| 亚洲免费中文字幕| 国产成人精品免高潮费视频| 欧美成人免费大片| 亚洲精品国产成人| 日韩电视剧在线观看免费网站| 欧美日韩中文字幕在线| 国产精品永久免费在线| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产精品悠悠久久琪琪| 久久精品国产2020观看福利| 亚洲尤物视频网| 国产精品视频自在线| 亚洲男人第一网站| 国产一区二区三区在线免费观看| 性欧美办公室18xxxxhd| 高清一区二区三区四区五区| 成人激情视频在线| 姬川优奈aav一区二区| 色av中文字幕一区| 欧美色图在线视频| 精品久久久久人成| 国产精品18久久久久久首页狼| 国产一区二区精品丝袜| 亚洲第一网中文字幕| 亚洲精品美女在线观看播放| 久久久久久久久久亚洲| 伊人久久大香线蕉av一区二区| 国产福利视频一区| 欧美激情欧美激情在线五月| 日韩极品精品视频免费观看| 91a在线视频| 在线精品国产欧美| 亚洲美腿欧美激情另类| 亚洲福利视频在线| 欧美精品中文字幕一区| 久久免费成人精品视频| 久久精品国产亚洲精品| 国产成人亚洲综合91| 日韩欧美在线视频观看| 国产精品88a∨| 在线视频欧美性高潮| 亚洲精品在线视频| 欧美成人三级视频网站| 亚洲国产精品成人va在线观看| 亚洲欧美日韩久久久久久| 欧美福利在线观看| 欧美一区第一页| 国产97在线视频| 欧美肥臀大乳一区二区免费视频| 亚洲春色另类小说| 国产精品久久久久久久久久久久| 国产成人精品在线| 91精品久久久久久久久不口人| 亚洲第一福利网站| 成人网在线观看| 欧美极品少妇xxxxⅹ裸体艺术| 九九视频直播综合网| 色香阁99久久精品久久久| 红桃视频成人在线观看| 久久久999精品| 国产成人精品一区| 日本欧美一级片| 亚洲成人av资源网| 欧美一乱一性一交一视频| 欧美第一淫aaasss性| 国产啪精品视频网站| 欧亚精品在线观看| 在线精品播放av| 成人激情视频免费在线| 亚洲精选一区二区| 欧美在线视频免费观看| 中文字幕亚洲一区在线观看| 欧美大片免费观看| 国产精品一区二区久久久| 国产精品欧美日韩一区二区| 日韩视频免费大全中文字幕| 一本一本久久a久久精品牛牛影视| 成人av番号网| 亚洲天堂av在线播放| 欧美日韩高清在线观看| 日韩av影片在线观看| 精品中文字幕视频| 免费99精品国产自在在线| 亚洲成人动漫在线播放| 精品国产户外野外| 色综合久久天天综线观看| 久久九九国产精品怡红院| 97视频人免费观看| 欧美一区二三区| 欧美丝袜一区二区三区|