您可以使用来实现
Hashtable。我以您的代码为基础,编写了一个示例实现,但是在不知道您要执行的操作的情况下,我无法判断这是否是您想要的。
import java.util.Hashtable;public class findPat { static final int COUNT = 100; static Hashtable<String, Integer> compareSet = new Hashtable<String, Integer>(); static String groupInteger = ""; static int arr [] = new int [5]; static int st = 1; static int end = 56; static double t1; static double t2; public static void main(String[] args) { t1=System.currentTimeMillis(); for(int n = 0; n < COUNT; n++){ for (int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random()* (end - st + 1)) + st; } for (int i = 1; i <= 5; i++) { groupInteger += arr[i-1]; System.out.print("t" + arr[i-1]); if (i % 5 == 0) { System.out.println(); if (compareSet.containsKey(groupInteger)) { System.out.println("duplicate found"); int currentCount = compareSet.get(groupInteger); compareSet.put(groupInteger, currentCount + 1); } else { compareSet.put(groupInteger, 1);} groupInteger = ""; } } } t2=System.currentTimeMillis(); System.out.println(); System.out.println(); System.out.println("t" + "Total run time is " + ((t2 - t1)) + "ms"); }}该代码通过添加唯一的随机数集来跟踪它们(创建一个键值,该键值对于具有相同顺序的相同值的每个集都是相同的,级联字符串负责此操作)。
您的代码在我的系统上运行了13秒,而我的则需要17秒。现在,如果运行时至关重要,您可能需要研究哈希技术。但是我不确定您是否能够节省很多,因为您将不得不添加一些额外的代码,这将花费更多的时间。



