簡體   English   中英

Java中的多維數組(或其他結構)

[英]Multi-Dimensional Array(or other structure) in 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 中的((多排序))能夠對全局數組內的那些數組進行排序。

(我需要對這些列表的鍵進行排序,以獲得最新的,然后我保存最新的第一個列表)。

所以實際上,我只是為了得到一個數組列表..但不是多維..

感謝您的提示:)(我使用彈簧靴)

編輯 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}]

你的意思是HashMap<String, ArrayList<String>>而不是在HashMap.keyset()上使用過濾器。

但不知道這是否正是您要尋找的。

兩個注意事項:

  1. 這是基本的Java。 不需要彈簧。
  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 會更好。 我想就是這樣......隨意問......

以下是在 Java 中獲得列表列表的方式。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM