Duplicate elements in ArrayList

11,257

You should use a Map instead, which will not allow for duplicate entries. You use it something like this:

Map<String, Integer> nameToQuantityMap = new HashMap<String, Integer>():

nameToQuantityMap.put("Mr Smith", 100);
nameToQuantityMap.put("Mrs Jones", 500);

EDIT: Now that you've edited the question, the answer is different. If you want to add the values of duplicate keys, you'll have to do something like this:

// For each (name, quantity) pair
if (nameToQuantityMap.containsKey(name) ) {
    Integer sum = nameToQuantityMap.get(name) + quantity;
    nameToQuantityMap.put(name, sum);
}
else {
        nameToQuantityMap.put(name, quantity);
}
Share:
11,257
Android_Code_Chef
Author by

Android_Code_Chef

Updated on June 16, 2022

Comments

  • Android_Code_Chef
    Android_Code_Chef almost 2 years

    I have two array list, One is to save name and other is to save quantity. I want to avoid duplicate in the array list. Name array list contains name and its corresponding quantity is contained in quantity array list.

    My array list can contains duplicate names, I want to traverse array list to check the name if already exists, if it exists then add the quantity to the previous value and delete duplicate entry.

    Eg

    Name     Quantity
    ABC      20
    xyz      10
    ABC      15
    

    Output Required

    Name    Quantity
    ABC      35
    XYZ      10
    

    Thanks

    • devrobf
      devrobf about 11 years
      Previously you said you wanted to delete the old entry, now you are adding them. Which is it?