Многомерный Массив (или другая структура) в Java

Я пришел из PHP, я разрабатываю инструмент, и мне нужно использовать многомерный массив (или что-то другое, map, ...). Моя цель - иметь такой ArrayList:

[["name1", "surname1", "age"], ["name1", "surname1", "age"]]
Or :
[["name" : "name1", "surname" : "surname1", "age" : "age1"], ["name" : "name2", "surname" : "surname2", "age" : "age2"]]

И чтобы иметь возможность добавить еще один список в этот глобальный список, без ограничения размера. На самом деле, я не нашел, что в Java, это сумасшедший XD.

Цель после этого это отфильтровать (с чем-то вроде в PHP ((мультисортировка), чтобы иметь возможность сортировать те массивы, которые находятся внутри глобального массива).

(Мне нужно отсортировать ключ из этого списка, чтобы получить самый последний, а затем я сохраняю первый список, который является самым последним).

Так что на самом деле, я только прихожу, чтобы получить arraylist .. но не многомерный ..

Спасибо за советы :) (я использую весеннюю загрузку)

РЕДАКТИРОВАТЬ 1:

HashMap<String, String> myhash = new HashMap<String, String>();
        myhash.put("Cat1", "james");
        myhash.put("Cat2", "adams");
        myhash.put("Cat3", "turk");
        System.out.println(myhash);
        // {Cat3=turk, Cat2=adams, Cat1=james}
        // I Would like : [{Cat3=turk, Cat2=adams, Cat1=james}, {Cat3=turkother, Cat2=adamsother, Cat1=jamesother}, {Cat3=fred, Cat2=ded, Cat1=tp}]

Всего 2 ответа


Вы имеете в виду HashMap<String, ArrayList<String>> а затем используете фильтр для HashMap.keyset() .

Но не знаю, если это именно то, что вы ищете.

Две заметки:

  1. Это базовая Java. Весна не требуется.
  2. Если вы создадите красивый Java-объект со свойствами, которые вы ищете, возможно, фильтрация будет проще ... Но не знаю. Я бы создал объект Person с необходимыми свойствами, сохранил ArraysList его в ArraysList и затем использовал бы этот объект.

Обновить:

    HashMap<String, String> myhash = new HashMap<String, String>();
    myhash.put("Cat1", "james");
    myhash.put("Cat2", "adams");
    myhash.put("Cat3", "turk");
    System.out.println(myhash);
    // {Cat3=turk, Cat2=adams, Cat1=james}
    // I Would like : [{Cat3=turk, Cat2=adams, Cat1=james}, {Cat3=turk, Cat2=adams, Cat1=james}]

    ArrayList<HashMap<String, String>> lst = new ArrayList<>();
    lst.add(myhash);
    lst.add(myhash);
    System.out.println(lst); //[{Cat3=turk, Cat2=adams, Cat1=james}, {Cat3=turk, Cat2=adams, Cat1=james}]

Замечание:

  1. позаботьтесь о том, чтобы myhash добавлялся дважды ==> если вы меняете одно поле ==> изменения также myhash в другое поле
  2. Я не вижу особой ценности в этом примере. Тем более что карта добавляется дважды.
  3. Взгляните на разные образцы для потоков - для фильтрации и сортировки. Это может быть полезно.
  4. Если есть больше qs, я думаю, лучше создать другое q. Я думаю, что это все ... Не стесняйтесь спрашивать ...

Вот как у вас есть список списков в Java.

ArrayList<ArrayList<String>> myList = new ArrayList<>();

Есть идеи?

10000