有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将相同的字符串分组到任何集合中?

我有一根看起来像

 {APP,LEE,APP,KCC,KCC,LEE,APP}.

我想分别将相同的值(如APP、LEE、KCC)推送到不同的ArrayList(任何集合)中

例如:

  • arraylist 1应该有{APP,APP,APP}
  • arraylist 2应该有{KCC,KCC}
  • arraylist 3应该有{LEE,LEE}

这样我就可以确定有多少不同的群体,以及它们的价值

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    使用Map<String, List<String>>。每个值将包含一个元素列表(如果需要,可以使用Integer进行计数)

    添加元素时:

    List<String> elemList = myMap.get(key);
    if (elemList == null){
        elemList = new ArrayList<String>;
        myMap.put(key, elemList);
    }
    elemList.add(key);
    

    虽然使用计数器更好

        Map<String, Integer> myMap = new HashMap<>();
    ...
        Integer count = myMap.get(key);
        if (count == null){
            myMap.put(key, 1);
        } else {
            myMap.put(key, count + 1);
        }