为了账号安全,请及时绑定邮箱和手机立即绑定

将列表中的重复数据与输入数据进行比较

将列表中的重复数据与输入数据进行比较

梵蒂冈之花 2023-06-28 19:45:23
我想使用我输入的数据检查列表中的重复 ID,然后增加列表中的 qty 变量。如果是新数据,它会添加一个新列表。这是我的代码public void addBarang(Barang barang){    int id_barang = barang.getId();    if(this.list.isEmpty())    {         list.add(barang);    }    else    {        for(int i=0;i<list.size();i++)        {            if(list.get(i).getId() != id_barang)            {                list.add(barang);                System.out.println("Added");                break;            }            if(list.get(i).getId() == id_barang)            {                int new_qty = list.get(i).getQty()+barang.getQty();                list.get(i).setQty(new_qty);            }        }     }}即使我输入新数据,它总是会增加旧数据的数量,并且不会添加新数据(基本上总是以“else”部分结束)。输入数据的代码Gudang gudang1 = new Gudang(1,1);System.out.println("ID: ");int id = input.nextInt();System.out.println("Jumlah: ");int qty = input.nextInt();System.out.println("Nama: ");String name = input.next();Barang barang = new Barang(id,name,qty);gudang1.addBarang(barang);类别项目public class Barang {public static int id;private String name;private int qty;public Barang(int id, String name, int qty) {    this.id = id;    this.name = name;    this.qty = qty;}public Barang(){};public int getId() {    return id;}public String getName() {    return name;}public int getQty() {    return qty;}public void setId(int id) {    this.id = id;}public void setName(String name) {    this.name = name;}public void setQty(int qty) {    this.qty = qty;}@Overridepublic String toString() {    return "Barang{" + "id=" + id + ", name=" + name + ", qty=" + qty + '}';}
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

请检查旧数据和新数据之间的 id 是否重复。

如果您的 id 是唯一的,那么您可以利用 Map 并将 id 作为键,将 barang 对象作为值。每当您成功查找对象的地图增量数量字段时。


查看完整回答
反对 回复 2023-06-28
?
Qyouu

TA贡献1786条经验 获得超11个赞

起初我猜我会改变:

if(list.get(i).getId() != id_barang)

到:

if(list.get(i).getId() != barang.getId())

也许 id_barang 与 barang 对象中存储的 id 不同。


查看完整回答
反对 回复 2023-06-28
?
开满天机

TA贡献1786条经验 获得超12个赞

尝试使用 .equals 来比较数据是否存在于列表中



查看完整回答
反对 回复 2023-06-28
  • 3 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信