Многомерный массив (или другая структура) в Java - PullRequest
0 голосов
/ 10 февраля 2020

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

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

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

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

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

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

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

EDIT 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 ]

2 голосов
/ 10 февраля 2020

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

Но не знаете, действительно ли это то, что вы ищете.

Две ноты:

  1. Это основа c Java. Spring не требуется.
  2. Если вы сделаете красивый Java объект со свойствами, которые вы ищете, возможно, фильтрация будет проще ... Но не знаю. Я хотел бы создать объект Person с необходимыми свойствами, сохранить его в 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 добавлялось дважды ==> если вы изменили одно поле ==> изменения также внесены и в другое поле
  2. я не вижу большое значение в этом образце. Тем более что карта добавляется дважды.
  3. Взгляните на разные образцы для потоков - для фильтрации и сортировки. Это может быть полезно.
  4. Если есть больше qs, я думаю, что лучше создать другое q. Я думаю, что это все ... Не стесняйтесь спрашивать ...
0 голосов
/ 10 февраля 2020

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

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