質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

3249閲覧

java8 streamを使ってList<Map>の並び替えを実行したい

oompa_kun

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/05/18 07:58

下記のListを、
『java8のstreamを使って並び替え&マップ内の文字列で新しいListを作成』
したいのですが、めちゃくちゃ久しぶりに触るのでまったく実装できなくて困り、投稿に至りました。

java

1List<Map<String,String>> fullList = new ArrayList<>(); 2 3//ダミーデータ3件 4Map<String,String> data1 = new HashMap<>(); 5data1.put("order","10"); 6data1.put("name","taro"); 7data1.put("point","50"); 8 9Map<String,String> data2 = new HashMap<>(); 10data2.put("order","5"); 11data2.put("name","jiro"); 12data2.put("point","100"); 13 14Map<String,String> data3 = new HashMap<>(); 15data3.put("order","1"); 16data3.put("name","goro"); 17data3.put("point","75"); 18 19//ダミーデータをlistにadd 20fullList.add(data1); 21fullList.add(data2); 22fullList.add(data3);
  • ↑のfullListの中に入っているMapの"order"を昇順にソートして、
  • ソート結果のMapから"point"だけを収めたList<String>を生成

する方法が、確かjava8のstreamを使えばワンライナーで書けたはずなんですが、
もうまっっっっっっっっったく思い出せなくて困り果てました。
ググってみたんですが脳みそが追い付かず。面目ない。

有識者の方々、お助けください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2020/05/18 08:03 編集

自力で書くだけの実力が有ったならば、リファレンスを見れば思い出すのでは?
YT0014

2020/05/18 11:59

java sort stream 辺りをキーワードにしてみればどうでしょう?
guest

回答1

0

他の言語のメソッドチェインを触っているとjavaのstreamはぱっと思い出せないのは、分かります。
// それ以外の理由についてはわかりません。

java

1 List nl = fullList.stream() 2 .sorted((s1,s2) -> Integer.parseInt(s1.get("order")) - Integer.parseInt(s2.get("order"))) 3 .map(s -> s.get("point")) 4 .collect(Collectors.toList()); 5

私はしばらく触っていないテクニックを度忘れしてしまったときはたいていHishidamaさん頼りです。
ホンマ感謝してます。

投稿2020/05/18 13:47

hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問