【问题标题】:How to replace duplicate elements in Array List?如何替换数组列表中的重复元素?
【发布时间】:2019-02-13 21:06:27
【问题描述】:

我正在尝试用新的唯一 ID 替换 Array List 中的重复元素。这样元素的顺序不会丢失,但重复的值会单独更改为新的值。

ArrayList<String> aa = new ArrayList<> Arrays.asList("111111111","446463636","111111111","343634633","111111111"));
for(int i=0; i< aa.size();i++) {
    if(aa.get(i)==null){
        String uuids = UUID.randomUUID().toString().replace("-", "");
        aa.add(uuids);
        aa.remove(aa.get(i));
   }
}

【问题讨论】:

    标签: java arrays list arraylist


    【解决方案1】:

    您希望set 与重复条目位于同一索引处的元素。如果您 add 将该元素添加到列表中,您将把该元素放在后面。试试这样的:

    for (int i = 0; i < list.size(); i++) {
        if (Collections.frequency(list, list.get(i)) > 1) {
            String uuids = UUID.randomUUID().toString().replace("-", "");
            list.set(i, uuids);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多