Androidアプリ開発

List(データ構造)をMapに変換する

この記事は約6分で読めます。
記事内に広告が含まれています。
スポンサーリンク

この記事はAndroidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Javaでの開発経験、XML構文規則、Androidのアプリ開発経験がある方を対象としています。
Androidのアプリ開発でお役にたててれば、嬉しいです。
(これから Androidのアプリ開発やJavaでの開発を始めたい方への案内は、
記事の最後で紹介します)

この記事のテーマ


Listに格納されたデータをMapに変換する

ポイント

Room(SQLite)から受け取ったデータ構造がListの検索結果をKeyを使ってアクセスしたい。
解決策のひとつとして、検索結果をMapに変換することでスマートな実装が可能になります。
今回は、Listに格納されたデータをMapに変換する方法を紹介します。

List to Map変換

検索結果をListで受け取ります。
Listで受け取った検索結果をCollectors.toMapを使用して、Mapに変換します。

    private Map<String, Integer> countMap = new HashMap<>();
    :
    List<Count> countList = accessFileDao.group_count(subCategory);
    countMap = countList.stream().collect(Collectors.toMap(count->count.id, count-> count.count, (oldVal,newVal) -> newVal));
    :

Collectors.toMapは3つの引数を指定します。
最初の引数はKey、次の引数がValue、最後の引数はKeyが重複した場合は新しい方で上書きする指定です。

検索結果を受け取るためのCountクラス

public class Count {
    public String id;
    public int    count;
    public Count(String id, int count) {
        this.id = id;
        this.count = count;
    }
}

今回は、ここまでです。

Listに格納されたデータをMapに変換しているAndroidアプリです。

誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にある
コメントか、
こちらから、お願いいたします♪

ポチッとして頂けると、
次のコンテンツを作成する励みになります♪

ブログランキング・にほんブログ村へ

これからAndroidのアプリ開発やJavaでの開発を始めたい方へ

アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、JavaやC#などのオブジェクト指向言語が初めての方は、Androidのアプリ開発ができるようになるには、かなりの時間がかかります。
オンラインスクールでの習得を、強くおススメします。

未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪

カリキュラムとサポートがしっかりしています。お得なキャンペーンとかいろいろやっています♪

ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適です。まずは無料オンライン相談から♪

参考になったら、💛をポッチとしてね♪

スポンサーリンク
シェアする
msakiをフォローする
スポンサーリンク

コメント欄

タイトルとURLをコピーしました