< prev index next > test/jdk/java/util/Collections/Frequency.java
Print this page
/*
! * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
! * Copyright (c) 2003, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
* @test
* @bug 4193200
* @summary Basic test for Collections.frequency
* @author Josh Bloch
+ * @library /test/lib
*/
+ import jdk.test.lib.valueclass.VClass;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Frequency {
static final int N = 100;
+
public static void main(String[] args) {
test(new ArrayList<Integer>());
test(new LinkedList<Integer>());
+ testValue();
}
static void test(List<Integer> list) {
for (int i = 0; i < N; i++)
for (int j = 0; j < i; j++)
for (int i = 0; i < N; i++)
if (Collections.frequency(list, i) != i)
throw new RuntimeException(list.getClass() + ": " + i);
}
+
+ static void testValue() {
+ List<VClass> values = new ArrayList<>();
+ for (int i = 0; i < N; i++)
+ for (int j = 0; j < i; j++)
+ values.add(new VClass(i, new int[] { i }));
+ Collections.shuffle(values);
+ for (int i = 0; i < N; i++)
+ if (Collections.frequency(values, new VClass(i, new int[] { i })) != i)
+ throw new RuntimeException("value frequency: " + i);
+ }
}
< prev index next >