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

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

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

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

解決済

ArrayListを内容別に分割する方法

my_loc22
my_loc22

総合スコア1

Java

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

2回答

-1評価

0クリップ

242閲覧

投稿2022/01/25 09:46

編集2022/01/26 08:53

1つの ArrayList<Map<String,String> を中身ごとに分割したいです。

java

map.put("user","a"); map.put("time","11:30"); Arraylist.add(map); map.put("user","a"); map.put("time","11:40"); Arraylist.add(map);

といった形式で複数人分のデータがあります。
この1つのArraylistをユーザー名ごとのArrayListに分割したいです。
何かいいやり方を教えていただきたいです。よろしくお願いいたします。

<追記>
言葉足らずで申し訳ございません。

java

for (int i = 0; i < ArrayList.size(); i++) { temp = locList.get(i).get("user"); if(temp.equals(user1)){ temp = ArrayList.get(i).get("user"); user1Data.put("user", temp); temp = ArrayList.get(i).get("time"); user1Data.put("time", temp); user1List.add(user1Data); user1Data = new HashMap<>(); } else if (temp.equals(user2)) { temp = ArrayList.get(i).get("user"); user2Data.put("user", temp); temp = ArrayList.get(i).get("time"); user2Data.put("time", temp); user2List.add(user2Data); user2Data = new HashMap<>(); } }

上記が自分で書いたコードです。
「List 分割」等で検索したところ、addAllを用いるやり方があったものの、
ArrayList<String>形式であったため、ArrayList<Map<String, String>>形式の場合も
対応できるのかもわかっていない状態です。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

jimbe

2022/01/25 10:29

"いい"やり方かどうかの判断基準(処理時間やコード量や…)は何でしょう。 比較対象として、ご自分で書いたコードもご提示ください。
m.ts10806

2022/01/25 10:50

イメージする形はなんでしょう。 json形式とかで良いので目指す形を提示してください
jimbe

2022/01/25 17:23 編集

"いい"やり方、ではなく、そもそも分割が出来ないということですね。 というか、最終的にどういう形が『分割された状態』なのかもハッキリしていないかのようなコードが追加されたのですが、 m.ts10806 さんが仰られているように、目指す形、例えば user が a,b,c と3種類ある全10データが ArrayList に入っているとして、Befire/After のアフターの状態をコードで書いて頂けますでしょうか。 それとも、分割出来てからそれに合わせて次を考えるというおつもりでしょうか。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java

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