添加新商品时如何初始化计数器 - java

我有如下所示的数组

public static void main(String[] args) {
    List asList = Arrays.asList("banner","carousel","banner","carousel","banner");
    Set<String> mySet = new HashSet<String>(asList);
    for(String s: mySet){

     System.out.println(s + " " +Collections.frequency(asList,s));

    }

}

输出:

carousel 2
banner 3

所需输出:

banner0
carousel0
banner1
carousel1
banner2

请让我知道在这种情况下需要做什么。

参考方案

您需要进行此简单更改:在这里,我们做一个子列表,该列表仅在当前循环项之前计数。

public static void main(String[] args) {
        List asList = Arrays.asList("banner", "carousel", "banner", "carousel", "banner");
        for(int i=0;i<asList.size();i++) {
            System.out.println(asList.get(i)+" : " + Collections.frequency(asList.subList(0,i), asList.get(i)));
        }
    }

输出:

banner : 0
carousel : 0
banner : 1
carousel : 1
banner : 2

Java-固定大小的列表与指定初始容量的列表之间的差异 - java

我在理解这一点上遇到了问题。当我们做 List<Integer> list = Arrays.asList(array); 我们不能在该列表上使用添加,删除之类的方法。我知道Arrays.asList()返回固定大小的列表。我不明白的是,如果我们创建一个具有指定初始容量的列表,例如List<Integer> list2 = new A…

从方法返回数组-Java - java

private static Coordinate[] getCircleCoordintaes() { Coordinate coordinates[] = {new Coordinate(0, 0)}; return coordinates; } 以上程序工作正常。在上面的程序中,返回的坐标数组首先初始化了数组使用这条线Coordinate coordi…

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…

JAVA:如何检查对象数组中的所有对象是否都是子类的对象? - java

我有一个对象数组。现在,我要检查所有这些对象是否都是MyObject的实例。有没有比这更好的选择:boolean check = true; for (Object o : justAList){ if (!(o instanceof MyObject)){ check = false; break; } } java大神给出的解决方案 如果您不喜欢循环,则…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…