我来自 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 中的东西((多重排序))以便能够对全局数组内的那些数组进行排序。
(我需要对这些列表的键进行排序,以便获得最新的,然后保存第一个最新的列表)。
所以实际上,我只是为了得到一个数组列表..而不是多维的......
谢谢你的提示:) (我使用Spring Boot)
编辑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()
上使用过滤器.
但不知道这是否正是您正在寻找的。
两个注意事项:
- 这是基本的 Java。无需 Spring 。
- 如果你用你正在寻找的属性创建一个漂亮的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}]
备注:
- 注意
myhash
添加两次 ==> 如果您在一个字段上进行更改 ==> 另一字段上的更改也会完成 - 我认为这个示例没有太大值(value)。特别是因为 map 被添加了两次。
- 查看流的不同示例 - 用于过滤和排序。这可能有用。
- 如果有更多的 q,我猜最好创建一个不同的 q。我想就是这样......随意询问......
关于java - Java中的多维数组(或其他结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60157924/