gpt4 book ai didi

java - 查询对象的数组列表

转载 作者:行者123 更新时间:2023-12-02 05:30:38 25 4
gpt4 key购买 nike

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

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/

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