В этой статье описываются операции по сокращению и сортировке массива, осуществляемые 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:
пакет 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}; 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 () {});*Рекомендуемый метод для сортировки списков (O2) .compareto (O1);}});}Java реализует список дедупликации
Метод 1: Используйте для пересечения цикла для удаления дублирующих элементов в списке
Фрагмент кода выглядит следующим образом
List Templist = new ArrayList (); // Удалить дубликаты элементов из исходного списка для (строка String: Originallist) {if (! Templist.contains (String)) {templist.add (String);}}Метод 2: Используйте установку для дедупликации
Фрагмент кода выглядит следующим образом
// SET использует уникальность элемента SET и DEDUPLICATICE SET = NEW HASHSET (Originallist); List Templist = new ArrayList (set);
Метод 3: Используйте Treesset для удаления дублирующих элементов
Treesset Treesset = new Treeset (Originallist); Listtempist = new ArrayList (); Templist.Addall (TreesSet); // TreesSet. Сортировка по умолчанию является порядок повышения, добавьте, требуется ли обратный порядок в соответствии с фактической ситуацией. Collections.Reverse (Templist);
Java реализует деревню списка после сортировки
Список испытаний JUNIT Дедупликация и сортировка исходного кода
Пакет com.gjnote.test.array; import java.util.arraylist; import java.util.collections; импорт java.util.comparator; импорт java.util.hashset; импорт java.util.list; import.usel.set; импорт. Тестовый класс*Список массива массива De-Heavy Element Sort ** @version 1.0*@author www.gjnote.com **/public class testlistrayraysort {private distoriginallist = null; @beforepublic void setup () Throws Exception {Originallist = new ArrayList (); для (int i = 10000; i> 0; i-) {oryanlist = add (); Повторите elementif (i % 2 == 0) {originallist.add ("element"+i);}}}/*** Элемент вывода -списка*@param list*/private void outputlist (список) {for (int i = 0; i <list.size (); i ++) {System.out.println (list.get.get (i)); Compamator () {});* Рекомендуемый метод сортировки*/private void collectionsSortElement (список списков) {long Start = System.CurrentTimeMiMilis (); Collections.sort (список, новый компаратор () {@OverridePublic int сравнение (строка O1, строка O2) {// корректировать порядок объектов сравнения в соответствии с фактическими сортировка O2.compareto (O1);}}); // outputList (Templist); System.out.println ("collections.sort:" + (System.currentTimeMillis () - Start) + "MS");}/*** Тест на использование для перепрыгивания для удаления дублирующих элементов*collections.sSort Sort.Ssort.Ssort*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ {System.out.println ("testforloopremoverePeatelement"); long Start = System.currentTimeMillis (); List Templist = new ArrayList (); // Удалить дублируемые элементы для (строка String: Originallist) {if (! Templist.contains (String)) {Templist.add (String);} // // corlemortelement (templist); // outputlist (templist); Список траверса и удалить дублирующие элементы: " + (System.currentTimeMillis () - start) +" ms ");}/*** тест для использования Set to DedUplicate; * Использовать collections.sort (list, comparator () {}); Sort **/@testpublic void testsetEremoverePeatelement () {System.out.println ("testsetRemoverePeatelement"); long start = System.currentTimeMillis();// Sort first (theoretical value: sorting first and then deduplication will be more efficient than sorting later) collectionsSortElement(originalList);// Set uses the uniqueness of Set elements, deduplication Set set = new HashSet(originalList);List tempList = new ArrayList(set);// After sorting, you can comment first sorting, and then turn on sorting Попробуйте выполнить время //collectionssortelement(templist);//outputlist(templist);; system.out.println("collections.sort Sort, используйте Set to Deduplicate: " + (System.currentTimeMillis () - Start) +" MS ");}/*** Test. testtreesTremoverePeatelement () {System.out.println ("testTreesEreMoverEpeatElement"); long Start = System.currentTimeMillis (); reesetTreeset = new Treeset (Originallist); ListTempist = new ArrayList (); Templist.Addall (TreesSet); // TreaSet. Сорта по умолчанию - это порядок, добавьте, нужно ли вам обратить вспять сортировку в соответствии с фактической ситуацией. Collections.reverse (Templist); // outputList (Templist); System.out.println («Сортировать с деревьями, удалить дублируемые элементы:" + (system.currenttimemillis () - start) + "ms");}@testpublic void testmethods () {// outpetlist (Originallist); TestSetRemoverEpeatElement (); // 14mStestTreesTremoverePeatelement (); // 20 мс // testforlOpRemoverePeatelement (); // 2525ms}}Запустить консоль TestSetRemoverEpeatElement () для вывода результата
TestSetRemoverEpeatElement
Коллекции. Скорз: 8 мс
Сборник.
Запустите консоль TestTreesEreMoverEpeatElement () для вывода результата
TesttreesTremoverePeatElement
Сортировка с деревьями, удалите дублируемые элементы: 20 мс
Запустите консоль TestForLoopRemoverEpeatElement () для вывода результата
testforloopremoverepeatelement
Коллекции. Скорз: 7 мс
Используйте список для цикла, удаляйте дублирующиеся элементы: 2525 мс.
PS: Вот несколько связанных инструментов для вашей ссылки:
Инструмент удаления онлайн:
http://tools.vevb.com/code/quchong
Инструмент повторения текста в Интернете:
http://tools.vevb.com/aideddesign/txt_quchong
Онлайн -анимация демонстрации вставки/select/bubble/merge/hill/Quick Sorting Algoriting Algorithm Tool:
http://tools.vevb.com/aideddesign/paixu_ys
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.