Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于值的Java ArrayList合并,无重复项_Java_Arraylist_Merge_No Duplicates - Fatal编程技术网

基于值的Java ArrayList合并,无重复项

基于值的Java ArrayList合并,无重复项,java,arraylist,merge,no-duplicates,Java,Arraylist,Merge,No Duplicates,我有一个名为Sample的类,这个类有一个属性是ArrayList,一个区域包含一个ArrayList 公共类示例{ 私人ArrayList样本区; 公共阵列列表getMergedData() { ... } ... } 公共课区{ 私有数组列表元素 ... } 公共类元素{ 私有字符串名称; 私人浮动价值; ... } 我需要Sample中的getMergedData()类合并每个ArrayList区域中的每个 例: 区域1:(“元素K”=>1.0,“元素C”=>0.5,“元素AS”=>15

我有一个名为
Sample
的类,这个类有一个属性是
ArrayList
,一个
区域包含一个
ArrayList

公共类示例{
私人ArrayList样本区;
公共阵列列表getMergedData()
{
...
}
...
}
公共课区{
私有数组列表元素
...
}
公共类元素{
私有字符串名称;
私人浮动价值;
...
}
我需要
Sample
中的
getMergedData()
类合并每个
ArrayList
区域中的每个

例:

区域1:(“元素K”=>1.0,“元素C”=>0.5,“元素AS”=>15.0)

区域2:(“元素K”=>10.1,“元素C”=>5.5,“元素AS”=>2.9,“元素O”=>1.5)

区域3:(“元素C”=>2.8,“元素AS”=>0.5,“元素O”=>5.8)

区域4:(“元素K”=>3.25,“元素AS”=>2.5,“元素O”=>0.1)

因此,该方法必须返回如下内容:
(“元素K”=>10.1,“元素C”=>5.5,“元素AS”=>15.0,“元素O”=>5.8”


我不知道如何才能以一种时尚的方式做到这一点。

如果列表的元素顺序相同,例如它们的
K
元素是第一个,它们的
C
元素是第二个,等等,那么只需逐个元素进行比较。否则,您可以根据元素名称对它们进行排序,然后逐个元素进行比较(如果使用良好的排序算法,这是nlog(n),或者将所有内容放在一个HashMap中,元素名作为键,值作为值

HashMap map = new HashMap();
for(int i = 0; i < list1.size(); i++) {
    Element e = list1.get(i);
    map.put(e.name, e.value);
}
for(int i = 0; i < list2.size(); i++) {
    Element e = list2.get(i);
    if(map.get(e.name) < e.value)
        map.put(e.name, e.value);
}
HashMap map=newhashmap();
对于(int i=0;i
元素
类的作用是什么?
元素
保存有关在样本区域中发现的化学元素的信息。一个样本有多个区域,一个区域有多个元素。在一个给定区域中,元素是唯一的。
字段是一个浮点值,我稍后将用于相似性比较isons。基本上我需要的是在
ArrayList
中转换
ArrayList
,其中每个条目都是在所有样本/区域中具有较大值的元素。如何表示字符串(例如“元素C”)在
集合
类中?一个包含化学元素名称的私有字段?类
元素
有一些字段,其中一个是元素名称。