java - 查询对象的数组列表

标签 java object arraylist

我创建了一个具有以下定义的类

public class RegionsWithConstituency {

String reg_name;
String const_name;

public void setRegionName(String reg_name)
{
    this.reg_name = reg_name;
}
public String getRegionName()
{
    return reg_name;
}

public void setConstituencyName(String const_name)
{
     this.const_name = const_name;
}

public String getConstituencyName()
{
    return const_name;
}

@Override
public String toString()
{
    return const_name;
}

}

我按如下方式填充此类:

  ArrayList<RegionsWithConstituency> region = new ArrayList<RegionsWithConstituency>();

 for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);

            RegionsWithConstituency reg = new RegionsWithConstituency();
            reg.setRegionName(jsonObject.optString("Region"));
            reg.setConstituencyName(jsonObject.optString("Constituency"));
            region.add(reg);

          } 

我想根据地区名称找到选区名称,并将结果保存到 String 的 ArrayList 中。一个例子是这样的

for (int i = 0; i < region.length(); i++) {

   if (regionList.Contains(region)){
   listofString.add(region.getConstituencyName())
  }
}

我是一名 C# 背景人员,我知道如何在 C# 中实现这一目标,但不知道如何在 Java 中实现这一目标,因此我需要这方面的帮助,如果您没有正确理解我的问题,请随时提出任何问题。

最佳答案

如果您想比较列表内的对象或仅使用contains方法。 在您的 RegionsWithConstituency 对象中,您应该覆盖 equalshashcode 方法。

@Override
public boolean equals(Object obj) {
    // TODO Auto-generated method stub
    if (this == obj)
        return true;

    if (obj == null || (this.getClass() != obj.getClass())) {
        return false;
    }

    RegionsWithConstituency reg = (RegionsWithConstituency) obj;
    return this.const_name.equals(reg.getConstituencyName())
            && this.reg_name.equals(reg.getRegionName());
}

@Override
public int hashCode() {
    // TODO Auto-generated method stub
    return const_name != null ? const_name.hashCode() : 0;
}

并检查它是否包含该对象

for (int i = 0; i < region.length(); i++) {

   if (regionList.Contains(region)){
   listofString.add(region.get(i).getConstituencyName())
  }
}

关于java - 查询对象的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25580604/

相关文章:

java - 解析 XML 时拦截 Xstream

java - 使用参数创建不要将新行插入数据库表

具有动态可编辑对象和值的 Javascript 数组

javascript - 返回带有链接模式 javascript 的项目

javascript - 从对象中切片属性并进行计数

java - ActionListener 内的递归

java - Java 中窗口框架关闭时不执行任何操作

scala - 如何在 scala 中访问和存储二维列表值?

java - 将元素添加到 Arraylist 时出现问题。 Android 版 JSoup

java - 在 Java 中从 ArrayList 创建并返回值