Использование линейного поиска для подсчета времени сопоставления каждого значения в массиве []
Поэтому я пишу программу, в которой программа генерирует 100 случайных целых чисел от 0 до 9 и сохраняет их в массиве [с использованием линейного поиска для подсчета времени, когда каждое значение сопоставляется в массиве []. Значения должны появляться несколько раз, поэтому при линейном поиске необходимо пройти все элементы в массиве [].
Что я получил так далеко, это
public static void main(String[] args) {
int[] randomNumbers = new int[100];
for(int index = 0; index < randomNumbers.length; index++)
{
randomNumbers[index] = (int) (Math.random()*100);
}
for(int index = 0; index < randomNumbers.length; index++)
{
System.out.println(randomNumbers[index]);
}
}
}
1 ответ
Возможно, не то, что вы ищете, а простой способ подсчета нескольких экземпляров объектов с использованием HashMap
Вот пример с вашим генератором случайных кодов:
public static void main(String[] args) {
int[] randomNumbers = new int[100];
HashMap<Integer, Integer> map = new HashMap<>();
//Generate 100 random ints
for (int index = 0; index < randomNumbers.length; index++) {
randomNumbers[index] = (int) (Math.random() * 100);
}
//Count occurrences of numbers in randomNumbers
for (int index = 0; index < randomNumbers.length; index++) {
//Get value of key 'randomNumbers[index]
Integer count = map.get(randomNumbers[index]);
//If key didn't exist create it, else increment the value of occurrences.
if (count == null) {
map.put(randomNumbers[index], 1);
} else {
map.replace(randomNumbers[index], count + 1);
}
}
//Print mappings
System.out.println(map.toString());
}