Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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中包含对象的两个映射 import java.util.*; 类Getter\u Setter { int-id; 字符串名; 公开名单; 公共字符串getName() { 返回名称; } 公共int getId() { 返回id; } 公共无效集合id(内部id) { 这个.id=id; } 公共void集合名(字符串名) { this.name=name; } 公共无效设置器(列表) { 这个。桶=巴克; } } 类Getter_Setter2 { int-id; 字符串名; 公开名单; 公共字符串getName() { 返回名称; } 公共int getId() { 返回id; } 公共无效集合id(内部id) { 这个.id=id; } 公共void集合名(字符串名) { this.name=name; } 公共void setGetter_Setter2(列表buck) { 这个。桶=巴克; } } 简单类 { HashMap=newHashMap(); HashMap_getter_setter2=新HashMap(); 公共静态void main(字符串arg[]) { List temp=sum(); listemp=sum1(); } 公共静态列表总和() { 列表=新的ArrayList(); Getter_Setter get=new Getter_Setter(); get.setId(30); get.setName(“Hanish”); System.out.println(get.getId()); System.out.println(get.getName()); list.add(get); map.put(get.getId(),get); 退货清单; } 公共静态列表sum1() { 列表=新的ArrayList(); Getter_Setter2 get=新Getter_Setter2(); get.setId(301); get.setName(“Hanish1”); System.out.println(get.getId()); System.out.println(get.getName()); list.add(get); map\u getter\u setter2.put(get.getId(),get); 退货清单; } }_Java_Hashmap - Fatal编程技术网

如何比较java中包含对象的两个映射 import java.util.*; 类Getter\u Setter { int-id; 字符串名; 公开名单; 公共字符串getName() { 返回名称; } 公共int getId() { 返回id; } 公共无效集合id(内部id) { 这个.id=id; } 公共void集合名(字符串名) { this.name=name; } 公共无效设置器(列表) { 这个。桶=巴克; } } 类Getter_Setter2 { int-id; 字符串名; 公开名单; 公共字符串getName() { 返回名称; } 公共int getId() { 返回id; } 公共无效集合id(内部id) { 这个.id=id; } 公共void集合名(字符串名) { this.name=name; } 公共void setGetter_Setter2(列表buck) { 这个。桶=巴克; } } 简单类 { HashMap=newHashMap(); HashMap_getter_setter2=新HashMap(); 公共静态void main(字符串arg[]) { List temp=sum(); listemp=sum1(); } 公共静态列表总和() { 列表=新的ArrayList(); Getter_Setter get=new Getter_Setter(); get.setId(30); get.setName(“Hanish”); System.out.println(get.getId()); System.out.println(get.getName()); list.add(get); map.put(get.getId(),get); 退货清单; } 公共静态列表sum1() { 列表=新的ArrayList(); Getter_Setter2 get=新Getter_Setter2(); get.setId(301); get.setName(“Hanish1”); System.out.println(get.getId()); System.out.println(get.getName()); list.add(get); map\u getter\u setter2.put(get.getId(),get); 退货清单; } }

如何比较java中包含对象的两个映射 import java.util.*; 类Getter\u Setter { int-id; 字符串名; 公开名单; 公共字符串getName() { 返回名称; } 公共int getId() { 返回id; } 公共无效集合id(内部id) { 这个.id=id; } 公共void集合名(字符串名) { this.name=name; } 公共无效设置器(列表) { 这个。桶=巴克; } } 类Getter_Setter2 { int-id; 字符串名; 公开名单; 公共字符串getName() { 返回名称; } 公共int getId() { 返回id; } 公共无效集合id(内部id) { 这个.id=id; } 公共void集合名(字符串名) { this.name=name; } 公共void setGetter_Setter2(列表buck) { 这个。桶=巴克; } } 简单类 { HashMap=newHashMap(); HashMap_getter_setter2=新HashMap(); 公共静态void main(字符串arg[]) { List temp=sum(); listemp=sum1(); } 公共静态列表总和() { 列表=新的ArrayList(); Getter_Setter get=new Getter_Setter(); get.setId(30); get.setName(“Hanish”); System.out.println(get.getId()); System.out.println(get.getName()); list.add(get); map.put(get.getId(),get); 退货清单; } 公共静态列表sum1() { 列表=新的ArrayList(); Getter_Setter2 get=新Getter_Setter2(); get.setId(301); get.setName(“Hanish1”); System.out.println(get.getId()); System.out.println(get.getName()); list.add(get); map\u getter\u setter2.put(get.getId(),get); 退货清单; } },java,hashmap,Java,Hashmap,在这种情况下,如何比较具有某些值的两个map对象。如果这些Maps包含大量数据,但id是唯一的。有两个类:第一个类是getter_setter,它在map对象中具有数据;第二个类是getter_setter,它在map_getter_setter中具有整个数据。我需要在id的基础上进行比较,然后对整个数据进行比较。如何做到这一点?如果我正确理解了您的问题,主要问题是id和data等字段都在hashmap类中,因此比较起来就不那么简单了 您可以编写定制的比较器类,它首先比较id,然后通过迭代比较映

在这种情况下,如何比较具有某些值的两个map对象。如果这些Maps包含大量数据,但id是唯一的。有两个类:第一个类是getter_setter,它在map对象中具有数据;第二个类是getter_setter,它在map_getter_setter中具有整个数据。我需要在id的基础上进行比较,然后对整个数据进行比较。如何做到这一点?

如果我正确理解了您的问题,主要问题是id和data等字段都在hashmap类中,因此比较起来就不那么简单了

您可以编写定制的比较器类,它首先比较id,然后通过迭代比较映射内的数据,最后给出相等的值。关于这一点,请参考此答案


另一个选项是使用比较链。这将帮助您轻松使用多重比较。

@Ruchira Gayan Ranaweera您粘贴的链接(这个问题已经有答案)是错误的。该链接仅包含值为字符串的映射。在这种情况下,值将是用户对象。。你的链接正确吗???答案是,Getter_Setter类的Hashcode和Equals方法应该被重写以进行唯一性计算,然后您需要遵循上面链接中给出的解决方案。。请参阅此问题,这不是重复的问题。有答案的链接实际上是比较字符串这一现象是关于对象的。请参考我上面的评论。有人有答案吗?请为Getter_Setter和Getter_Setter 2类的hashcode和equals方法加上唯一性对象逻辑和映射的call equals方法。我如何编写自己的比较器类在我看来,你的答案似乎是正确的,但我在为它编写自己的比较器时发现了困难。首先列出比较的确切字段。然后检查示例代码(不相关),但可能会给你一个好主意,有人知道答案吗?
import java.util.*;
class Getter_Setter
{
    int id;
    String name;
    public List<Getter_Setter> buckets;
    public String getName()
    {
        return name;
    }
    public int getId()
    {
        return id;
    }
    public void setId(int id)
    {
        this.id=id;
    }
    public void setName(String name)
    {
        this.name=name;
    }
    public void setGetter_Setter(List<Getter_Setter> buck)
    {
        this.buckets=buck;
    }
}
class Getter_Setter2
{
    int id;
    String name;
    public List<Getter_Setter> buckets;
    public String getName()
    {
        return name;
    }
    public int getId()
    {
        return id;
    }
    public void setId(int id)
    {
        this.id=id;
    }
    public void setName(String name)
    {
        this.name=name;
    }
    public void setGetter_Setter2(List<Getter_Setter> buck)
    {
        this.buckets=buck;
    }
}
class Simple
{
    HashMap<String,Getter_Setter> map=new HashMap<String,Getter_Setter>();
    HashMap<String,Getter_Setter2> map_getter_setter2=new HashMap<String,Getter_Setter2>();
    public static void main(String arg[])
    {
        List<Getter_Setter> temp=sum();
        List<Getter_Setter2>temp=sum1();
    }
    public static List<Getter_Setter> sum()
    {
        List<Getter_Setter> list=new ArrayList<Getter_Setter>();
        Getter_Setter get=new Getter_Setter();
        get.setId(30);
        get.setName("Hanish");
        System.out.println(get.getId());
        System.out.println(get.getName());
        list.add(get);
        map.put(get.getId(),get);
        return list;
    }
    public static List<Getter_Setter> sum1()
    {
        List<Getter_Setter2> list=new ArrayList<Getter_Setter2>();
        Getter_Setter2 get=new Getter_Setter2();
        get.setId(301);
        get.setName("Hanish1");
        System.out.println(get.getId());
        System.out.println(get.getName());
        list.add(get);
        map_getter_setter2.put(get.getId(),get);
        return list;
    }
}