Javaで配列、ArrayList、String、List、Map、Setをソートする方法は?



この記事では、Javaでのソートに焦点を当てています。ここでは、Javaで配列、配列リスト、文字列、リスト、マップ、およびセットを並べ替える方法を学習します。

ソートは、プログラミング言語の重要な部分です。 Javaは、間違いなく最高のプログラミング言語の1つです。それはそれを簡単にする様々な機能を持っています!この記事は、並べ替えに関するすべてを明らかにするのに役立ちます 特に、JavaでArray、ArrayList、String、List、Map、Setを並べ替えます。

この並べ替えの記事では、以下のトピックについて説明します。





さぁ、始めよう。 :-)

Javaで配列を並べ替える

Javaの配列 特定のデータ型の1つ以上の値を格納し、同じものを単一の変数に格納するためのインデックス付きアクセスを提供します。以下のプログラムを見て、Javaで配列を昇順で並べ替えてみましょう。ただし、 Javaがインストールされています



10進数から2進数のPythonコード

Javaで配列を並べ替える–昇順

パッケージEdurekaimport java.util.Arrays public class SortArray {public static void main(String [] args){int [] arr = {52,12,2,72,4} // 5つの要素の配列Arrays.sort(arr )System.out.printf( 'Sorted arr [] =%s'、Arrays.toString(arr))}}

出力 –ソートされたarr [] = [2、4、12、52、72]

Javaで配列をソート–降順

パッケージEdurekaimport java.util.Arrays import java.util.Collections public class SortArray {public static void main(String [] args){Integer [] arr = {52,12,2,72,4} // used Integer [ ]コレクションとしてのintの代わりにArrays.sort(arr、Collections.reverseOrder())//降順のreverseorder()System.out.printf( 'Sorted arr [] =%s'、Arrays.toString(arr))} }

出力: ソートされたarr [] = [72、52、12、4、2]

注意: 上記のコードでは、intの代わりにInteger []配列を使用しました。 。これは、reverseOrder()がプリミティブ型をサポートしていないためです。



多くの人が、Javaの配列とArrayListの概念と混同しています。以下の表は、すべての疑問を解消する可能性があります。

アレイ 配列リスト

固定長です

可変長(動的サイズ)です

プリミティブデータ型のみをサポートします

異なるオブジェクトとデータをリストに追加できます

重複した追加をサポートしていません

重複する要素の追加を許可します

順方向にのみトラバースできます

順方向と逆方向の両方にトラバースできます

サイズは動的に変更できません

サイズは動的に変更できます


違いがはっきりしていることを願っています。先に進んで、並べ替え方法を見てみましょう。 。

JavaでArrayListをソート(文字列)

JavaでのArrayListの並べ替えは、簡単な方法で簡単に実行できます。 sort()メソッド 。 JavaでArrayListをソートするには、以下のコードを参照してください。

package Edureka import java.util.Arrays import java.util.Collections importjava.util。* public classsortingarraylist {public static void main(String args []){ArrayList list = new ArrayList()// ArrayListlist.addにデータを入力します( 'sorting')list.add( 'java')list.add( 'arraylist')list.add( 'in')System.out.println( 'Unsorted ArrayList:' + list)//ソートされていないarraylistコレクションを出力します。 sort(list)//昇順のソートメソッドSystem.out.println( 'Sorted ArrayList' + 'in Ascending order:' + list)//ソートされた配列リストを出力}}

出力–

Unsorted ArrayList:[sorting、java、arraylist、in]
昇順で並べ替えられたArrayList:[arraylist、in、java、sorting]

Javaの記事で並べ替えを進めて、整数を並べ替える方法を見てみましょう。別のメソッド、つまりCollections.sort()メソッドを使用して並べ替えを実装してみましょう。

コレクション(整数)を使用してJavaでArrayListをソートする

Collections.sort()メソッドを使用して整数配列リストをソートできます。

javais-関係
パッケージEdurekaimport java.util.Arrays import java.util.Collections importjava.util。* public class SortingArrayList {public static void main(String args []){ArrayList arraylist = new ArrayList()arraylist.add(48)arraylist。 add(2)arraylist.add(19)arraylist.add(22)System.out.println( '並べ替え前:')//並べ替え前(int counter:arraylist){System.out.println(counter)}コレクション.sort(arraylist)//昇順で並べ替える関数System.out.println( 'After Sorting:')//並べ替え後for(int counter:arraylist){System.out.println(counter)}}}

出力–
並べ替える前に:
48
2
19
22
ソート後:
2
19
22
48

Javaで文字列を並べ替える

Javaの文字列は不変です。を並べ替える直接的な方法はありません 。 char入力文字列を作成するメソッドCharArray()を持つArraysを使用でき、別のメソッド(Arrays.sort(char c [])を使用すると、簡単に並べ替えることができます。

パッケージEdurekaimport java.util.Arrays import java.util.Collections importjava.util。* public class SortingString {public static String sortString(String inputString){char Array1 [] = inputString.toCharArray()//入力文字列をcharに変換array Arrays.sort(Array1)return new String(Array1)//ソートされた文字列を返す} public static void main(String [] args){String inputString = 'Edureka' String outputString = sortString(inputString)System.out.println( '入力文字列: '+ inputString)System.out.println('出力文字列: '+ outputString)}}

出力–
入力文字列:Edureka
出力文字列:Eadekru

Javaでリストを並べ替える

リストを並べ替えるには 、Collections.sort()メソッドを使用できます。詳細については、次のコードを参照してください。

パッケージEdurekaimport java.util.Arrays import java.util.Collections importjava.util。* public class SortingList {public static void main(String [] args){Integer [] Digits = new Integer [] {12,56,89 、27,22,4,88,65,36}リストdigitsList = Arrays.asList(digits)Collections.sort(digitsList)//ソートされたリストSystem.out.println( 'ソートされた文字列:' + DigitsList)}}

出力 :ソートされた文字列:[4、12、22、27、36、56、65、88、89]

Javaでマップを並べ替える

Javaのマップはに属します キーと値のペアが含まれています。したがって、マップは2つの異なる方法で並べ替えることができます。

  • キーで並べ替え
  • 値で並べ替え

キーで並べ替え:

パッケージEdurekaimport java.util.Arrays import java.util.Collections importjava.util。* public class SortingMap {public static void main(String [] args){HashMap map = new HashMap()map.put(14、 'Aayushi ')map.put(2、' Rachit ')map.put(30、' Amit ')map.put(5、' Anamika ')TreeMap treeMap = new TreeMap(map)System.out.println(treeMap)}}

出力: {2 = Rachit、5 = Anamika、14 = Aayushi、30 = Amit}

c ++ gotoラベル

値で並べ替え:

パッケージEdurekaimport java.util.Arrays import java.util.Collections importjava.util。* public class SortingMap {public static void main(String [] args){HashMap unSortedMap = new HashMap()unSortedMap.put(14、 'Aayushi ')unSortedMap.put(20、' Rachit ')unSortedMap.put(60、' Amit ')unSortedMap.put(70、' Anamika ')LinkedHashMapsortedMap = new LinkedHashMap()unSortedMap.entrySet()。stream()。sorted (Map.Entry.comparingByValue())。forEachOrdered(x-> sortMap.put(x.getKey()、x.getValue()))System.out.println(sortedMap)}}

出力: {14 = Aayushi、60 = Amit、70 = Anamika、20 = Rachit}

Javaでの並べ替えを進めて、最後のトピックを取り上げましょう。つまり、セットを並べ替えます。 。

Javaでのソートセット

Set in Javaは、コレクションを拡張するインターフェースです。これは、重複する値を格納しない、順序付けられていないオブジェクトのコレクションです。現在、Javaでセットをソートする直接的な方法はありません。セットを並べ替えるには、セットをListに変換してから、collections.sort()APIを使用して、リストを再びセットに変換する必要があります。詳細については、以下のコードを参照してください。

package Edureka import java.util.Arrays import java.util.Collections importjava.util。* public class SortSet {public static void main(String [] args){//ソートされていないリストHashSet numbersSet = new LinkedHashSet(Arrays.asList(12 、56,89,27,22,4,88,65,36))リストnumbersList = new ArrayList(numbersSet)//セットをリストに変換//リストをソートCollections.sort(numbersList)numbersSet = new LinkedHashSet(numbersList) //リストをセットに変換します//セットを印刷して確認しますSystem.out.println(numbersSet)}}

出力 :[4、12、22、27、36、56、65、88、89]

これで、Javaでの並べ替えに関するブログの最後になり、Javaで配列、ArrayList、文字列、マップ、およびセットを並べ替える方法を学びました。このブログがあなたの知識に有益で付加価値を与えてくれることを願っています。

できるだけ練習し、経験を元に戻してください。

チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。

質問がありますか?この「Javaでの並べ替え:配列、配列リスト、文字列、マップ、およびJavaでの設定」のコメントセクションにその旨を記載してください。できるだけ早くご連絡いたします。