在Java中,是否有任何类似于javascript对象类型的数据类型,我都可以像在javascript中那样存储东西。

这是一个对象,其中包含三个数组:

var myObject = {"smsBody": [], "totalSMS": [], "sender": []};


我可以将数据推送到该对象内的单个数组项中:

myObject.totalSMS.push("5");
myObject.totalSMS.push("10");


然后可以遍历它们以从数组项中获取全部数据:

for (var i = 0; i < myObject.totalSMS.length; i++) {
  alert(myObject.totalSMS[i]);
}


Java plz中有类似的东西吗?

最佳答案

这与您在Java中所发布的代码尽可能接近:

Map<String, List<String>> myObject = new HashMap<>();
myObject.put("smsBody", new ArrayList<>());
myObject.put("totalSMS", new ArrayList<>());
myObject.put("sender", new ArrayList<>());

List<String> totalSMS = myObject.get("totalSMS");
totalSMS.add("5");
totalSMS.add("10");

for (String s : totalSMS) {
    System.out.println(s);
}


请注意,有一些小的差异,例如您不能使用myObject.totalSMS之类的东西,而是需要使用字符串"totalSMS"作为Map的键。 Java还有一个更方便的for-each循环,这意味着您不需要遍历元素的索引并分别访问它们(尽管您仍然可以按元素索引遍历列表)。

09-25 17:35