gpt4 book ai didi

java - 检测android/java中多列数组列表中的重复元素?

转载 作者:行者123 更新时间:2023-12-01 12:47:36 25 4
gpt4 key购买 nike

我有一个下面提到的数组列表结构。

ArrayList<Arraylisttableitem> tablestatuslist = new ArrayList<Arraylisttableitem>();

下面提到了这个数组列表的模型类。

public class Arraylisttableitem {

String total, noofcustomer, firstname, tab_name, balance, time;

public Arraylisttableitem(String total, String noofcustomer,
String firstname, String tab_name, String balance, String time) {
// TODO Auto-generated constructor stub
this.total = total;
this.noofcustomer = noofcustomer;
this.firstname = firstname;
this.tab_name = tab_name;
this.balance = balance;
this.time = time;
}

public String getTotal() {
return total;
}

public void setTotal(String total) {
this.total = total;
}

public String getNoofcustomer() {
return noofcustomer;
}

public void setNoofcustomer(String noofcustomer) {
this.noofcustomer = noofcustomer;
}

public String getFirstname() {
return firstname;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}

public String getTab_name() {
return tab_name;
}

public void setTab_name(String tab_name) {
this.tab_name = tab_name;
}

public String getBalance() {
return balance;
}

public void setBalance(String balance) {
this.balance = balance;
}

public String getTime() {
return time;
}

public void setTime(String time) {
this.time = time;
}
}

在名为 tab_name 的元素中,我可能有重复的元素。我想识别重复的元素并添加所有重复的值。例如 tab_num 10 的余额为 5,tab_num 10 的余额为 10。我想要的是 tab_nam 10 应该出现一次,余额应该为 15,列表中没有任何重复值。

请解决我的问题...

我不知道在里面写什么..

for(Arraylisttableitem itemlist : tablestatuslist)
{

}

我的 JSON 有重复值。所以,我的数组列表支持重复值。

最佳答案

如果您想添加值,那么最好将字段类型保留为 int 而不是 string。但是,就您而言,您可以这样做

Map<String, Arraylisttableitem> map = new HashMap<String, Arraylisttableitem>();
for(Arraylisttableitem item : tableStatusList){
Arraylisttableitem prevItem = map.get(item.getTab_name());
if(prevItem != null){
prevItem.setTotal(String.valueOf(Integer.parseInt(item.getTotal()) + Integer.parseInt(prevItem.getTotal())));
prevItem.setBalance(String.valueOf(Integer.parseInt(item.getBalance()) + Integer.parseInt(prevItem.getBalance())));
prevItem.setNoofcustomer(String.valueOf(Integer.parseInt(item.getNoofcustomer()) + Integer.parseInt(prevItem.getNoofcustomer())));
prevItem.setTime(String.valueOf(Integer.parseInt(item.getTime()) + Integer.parseInt(prevItem.getTime())));
map.put(item.getTab_name(), prevItem);
} else {
map.put(item.getTab_name(), item);
}
}
tableStatusList = new ArrayList<Arraylisttableitem>(map.values());

关于java - 检测android/java中多列数组列表中的重复元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24535323/

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