作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试清理我的代码并希望在代码中使用优化的方法。
目前我有这种类型的hashmap private HashMap<String, ArrayList<allProperty>> fData;
所以数据每 5 秒从服务器传来一次。我每 5 秒更新一次这个 hashmap,就像这样
fData.put("Student", allStudent);
fData.put("Emp", allEmp);
fData.put("Other", allOther);
所以从 allproperty 类对象中,有标记字段,我正在尝试为所有键提取标记字段并创建新的整数数组列表,以便我可以每 5 秒在创建的数组列表中附加标记。
我之前为每个学生、emp 和其他学生使用不同的 arraylist,它工作正常,但似乎有很多代码重复。这就是为什么我试图用 HashMap 来实现它
我正在尝试这样的事情,但它没有附加数据......
for (String type: allTypes) {
if(fData.get(type).size() > 0){
arraySort(fData.get(type));
temp = new ArrayList<Integer>();
temp.add(fData.get(type).get(0).marks);
}
cData.put(type, temp);
cType 是下面给出的类型的 hashMap 和
private HashMap<String, ArrayList<Integer>> cData;
allTypes 在哪里
signalTypes.add("Student");
signalTypes.add("Emp");
signalTypes.add("Other");
最后,我想要三个带有键的新数组列表,并且能够每 5 秒追加一次数据。谢谢
最佳答案
ArrayList
2a。如果它不存在 - 把你的 new ArrayList
2b。否则使用此 ArrayList
。它是可变的。所以你可以在这个对象上调用 .add
,它会在 HashMap
试试这个:
for (String type: allTypes) {
if (fData.get(type).size() > 0) {
arraySort(fData.get(type));
if (cData.get(type) == null) {
temp = new ArrayList<Integer>();
temp.add(fData.get(type).get(0).marks);
cData.put(type, temp);
} else {
cData.get(type).add(fData.get(type).get(0).marks);
}
}
}
关于java - 带有 arraylist 的 HashMap 并从中创建新的 arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27076604/
这个问题在这里已经有了答案: Is a moved-from vector always empty? (4 个答案) 关闭 4 年前。 从 std::vector move 数据后,它的容量是否必
我是一名优秀的程序员,十分优秀!