gpt4 book ai didi

java - 如何在java中定义一个有两列的arrayList?

转载 作者:行者123 更新时间:2023-11-29 06:46:56 25 4
gpt4 key购买 nike

我有一个 hashMap。每个“值”都将是一个列表,稍后将与我的“键”映射。希望列表看起来像这样:

[长度,时间][长度,时间][长度,时间]

例如:键{srcAddr=x, dstAddr=y, srcPort=12345, dstPort=80}值{(6523,0.001),(124,0.05), () , (), ...}

我只是想知道如何才能拥有一个双列 arrayList。

package myclassifier;
import java.util.ArrayList;

public class FlowStatics {
int packetLength;
double timeArrival;
public FlowStatics(int pLength, double tArrival)
{
this.packetLength = pLength;
this.timeArrival = tArrival;


}

}这是我使用它的方式:

final ArrayList<FlowStatics> staticsArray = new ArrayList<FlowStatics>();
final HashMap<Flows, ArrayList> myHashMap = new HashMap<Flows, ArrayList>();

FlowStatics flowStatics = new FlowStatics(packetLength,timeArrival);
staticsArray.add(flowStatics);
myHashMap.put(flows, staticsArray);

这是我正在阅读的部分:

Iterator<Flows> iterator =  myHashMap.keySet().iterator();
while(iterator.hasNext()){
Flows key = iterator.next();
ArrayList value = myHashMap.get(key);
System.out.println("Fows"+key+"----------"+"Statics"+ value);

最佳答案

嗯,你的FlowStatics是正确的解决方案

List<FlowStatics>将为您提供“双列数组列表”。

更新:截至您的更新,myHashMap.put(flows, flowStatics);是错的。你这是在 map 上放置一个单独的对,而不是一个列表。你应该使用:

staticsArray.add(flowStatics);
myHashMap.put(flows, staticsArray);

关于java - 如何在java中定义一个有两列的arrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3482953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com