Java クイックソート
こちらでバブルソートをしたので、今回はクイックソートしてみます。 クイックソートのサンプル 10個の整数をシャッフル。 シャッフルしたリストをクイックソートでソートします。 [crayon-66dd2d6b7360096…
Java言語プログラミングのゆるふわレシピ。コピペで使える3分クッキング♪
こちらでバブルソートをしたので、今回はクイックソートしてみます。 クイックソートのサンプル 10個の整数をシャッフル。 シャッフルしたリストをクイックソートでソートします。 [crayon-66dd2d6b7360096…
ソートの基本は、バブルソート。 遅いですw バブルソートのサンプル 10個の整数をシャッフル。 シャッフルしたリストをバブルソートでソートします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class BubbleSort { public static void main(String[] args) { //データ準備 List<Integer> sortList = IntStream.rangeClosed(1, 10) .boxed() .collect(Collectors.toList()); Collections.shuffle(sortList); System.out.println("ソート前:" + sortList); //ソート sort(sortList); System.out.println("ソート後:" + sortList); } public static void sort(List<Integer> list) { //バブルソート for(int i = 0 ; i < list.size() - 1 ; i++) { for(int j = 0 ; j < list.size() - i - 1 ; j++) { //隣同士を比較 if (list.get(j) > list.get(j + 1)) { Collections.swap(list, j, j+1); } } } } } |
実行結…
解説動画 前回のコピー同様、サブフォルダを含んだ一括削除はそのままできないので、再帰的に行います。 こちらもメソッドで再帰せず、クラスで再帰してます。 ■動画はこちら ■Youtube版の解説で使用しているソースコード …
前回は乱数を取得してみましたが、今回はあらかじめ用意したリストをシャッフルしてみたいと思います。 あらかじめ値のリストが与えられているため、トランプのカードを切ったり、麻雀牌をジャラジャラしたりする場面で使えそうですね♪…
前回は、自作したクラスの配列をソートしてみました。 今回は、自作したクラスのリストをソートしてみます。 自作したクラスのリストをソートするサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import java.util.ArrayList; import java.util.Collections; public class SortTest2 { public static void main(String[] args) { ArrayList targetList = new ArrayList(); targetList.add(new SortItem2("001","メロン")); targetList.add(new SortItem2("002","すいか")); targetList.add(new SortItem2("003","りんご")); targetList.add(new SortItem2("004","バナナ")); targetList.add(new SortItem2("005","みかん")); System.out.println("-- ソート前 --"); print(targetList); Collections.sort(targetList); System.out.println("-- ソート後 --"); print(targetList); } private static void print(ArrayList targetList) { for(SortItem2 item : targetList) { System.out.println(item.toString()); } } } class SortItem2 implements Comparable { private String id = null; private String name = null; public SortItem2(String id,String name){ this.id = id; this.name = name; } @Override public int compareTo(SortItem2 arg) { return name.compareTo(arg.name); } @Override public String toString() { return "id:" + id + " name:" + name ; } } |
実行結…
データベースを使っている限り、基本的に「order by」に任せるのが固いし、楽なのですが・・、さらに加工したりとかでJavaで並べ替えをしたい場合があります。 今回は、自作したクラスの配列に対して、ソートをしてみます。…