用于编写4条信息的Java数据结构
我需要提取两条关于两个IP地址的信息,然后写下这些信息加上两个地址。 我想用一组对来表示IP地址,但我可以用哪个数据结构来写这些信息呢?用于编写4条信息的Java数据结构,java,Java,我需要提取两条关于两个IP地址的信息,然后写下这些信息加上两个地址。 我想用一组对来表示IP地址,但我可以用哪个数据结构来写这些信息呢? 谢谢即使这不是一个Javascript应用程序,您也可以使用它,因为它提供了一种将多个数据块一起读取/存储的简洁方法。查看以获取有关类的详细信息,并下载相关源代码。如果您只是在编写信息,您可以随时使用Hashmap。除非您知道要对数据做什么,否则很难说什么是最好的。只需创建一个自定义类(POJO),并根据您希望如何编写它,使其可序列化。这样,您就可以清楚地命名
谢谢即使这不是一个Javascript应用程序,您也可以使用它,因为它提供了一种将多个数据块一起读取/存储的简洁方法。查看以获取有关类的详细信息,并下载相关源代码。如果您只是在编写信息,您可以随时使用Hashmap。除非您知道要对数据做什么,否则很难说什么是最好的。只需创建一个自定义类(POJO),并根据您希望如何编写它,使其可序列化。这样,您就可以清楚地命名字段(以及getter和setter),从而使代码更易于阅读(和扩展) 像这样的事情
class BigClass { //<br>
private IPAdreess addr1; //<br>
private IPAddress addr2; //<br>
private SomeInfo additionalInfo;//<br>
//implement accessors//<br>
//implement equals, hashCode//<br>
}//<br>
class大类{/
专用iPadRess地址1;//
专用IP地址addr2;//
私有SomeInfo附加信息;//
//实现访问器//
//实现equals,hashCode/
}//
IPAddress、SomeInfo是您的用户类型。在java中,InetAddress表示IP地址。这可能比您的自定义类型多得多
选择合适的“集合”数据结构可以由许多因素决定。。您想保留订单吗?您是否通过多个线程来填充它?您希望集合中有多少个条目?100美元?一百万
为什么不发布你的代码?用真实代码给出反馈可能更容易。PcapPacketHandler jPacketHandler=new PcapPacketHandler(){
PcapPacketHandler<String> jPacketHandler = new PcapPacketHandler<String>(){
int totalLength = 0;
public void nextPacket(PcapPacket packet, String user) {
Ip4 ip = new Ip4();
String sIP;
String dIP;
if (packet.hasHeader(ip) == false){
return;
}
totalLength = totalLength+ ip.getPayloadLength();
sIP = org.jnetpcap.packet.format.FormatUtils.ip(ip.source());
dIP = org.jnetpcap.packet.format.FormatUtils.ip(ip.destination());
System.out.println("SIP = "+sIP+" "+"destIP = "+dIP+" "+"Payload Length = "+ip.getPayloadLength());
System.out.println("Total Length = "+totalLength);
}
};
pcap.loop(10, jPacketHandler, "");
pcap.close();
int-totalength=0;
public void nextPacket(PcapPacket数据包,字符串用户){
Ip4 ip=新的Ip4();
串啜;
管柱倾角;
if(packet.hashreader(ip)==false){
返回;
}
totalLength=totalLength+ip.getPayloadLength();
sIP=org.jnetpcap.packet.format.FormatUtils.ip(ip.source());
dIP=org.jnetpcap.packet.format.FormatUtils.ip(ip.destination());
System.out.println(“SIP=“+SIP+”“+”destp=“+dIP+”“+”有效负载长度=“+ip.getPayloadLength());
System.out.println(“总长度=+总长度”);
}
};
pcap.loop(10,jPacketHandler,“”);
pcap.close();
我不太明白您到底想要绘制什么图形。我要做的是
select source_ip, dest_ip, sum(time), sum(sent_bytes) group by source_ip, dest_ip
我所需要的就是根据我提取的两个静态数据绘制一个图表。你能给我一些关于你建议的线索吗?你能用一些样本数据更好地解释一下吗?当然可以。我有一个pcap文件,其中包含一些网络捕获的流量。我需要探索流的数量(源和目标IP地址之间的对话)。然后找到该流量的特征,例如查找长度和到达时间。所有这些加在一起,我需要写这些信息,比如192.168.1.65,217.174.16.1,245684(字节),1.0523(秒)这些IP地址的类型是字节。也许你在寻找元组。我在使用jnetpcap库,不知道你是否熟悉它。这是我正在读取的部分,显示了ip地址和长度,我还需要提取一条信息,这也是时间到达。PcapPacketHandler jPacketHandler=new PcapPacketHandler(){int totalLength=0;public void nextPacket(PcapPacket packet,String user){Ip4 ip=new Ip4();String sIP;String dIP;if(packet.hasHeader(ip)==false){return;}totalLength=totalLength+ip.getPayloadLength();sIP=org.jnetpcap.packet.format.FormatUtils.ip(ip.source());dIP=org.jnetpcap.packet.format.FormatUtils.ip(ip.destination());我不能以正确的形式发布它,我该怎么做?使用“代码示例”在小编辑栏中。您可能需要返回问题并进行操作。