Я пишу одну программу java, в которой я не хочу использовать какой-либо цикл для элементов списка массивов. Конечно, программа будет печатать выходные данные от 0 до n без использования какого-либо цикла, потому что ArrayList наследует метод toString() с петлей в нем из AbstractCollection.
Работа с элементами ArrayList без использования какого-либо цикла
import java.util.*;
class withoutloop{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
ArrayList<Integer> arr = new ArrayList<>();
int n = scan.nextInt();
for(int i=0;i<=n;i++)
arr.add(i);
System.out.println(arr);
}
}
Но я хочу поставить некоторые вычисления, используя каждый элемент списка массива без какого-либо loop.Like программы ниже
import java.util.*;
class withoutloop{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
ArrayList<Integer> arr = new ArrayList<>();
int n = scan.nextInt();
int m = scan.nextInt();
int count = 0;
for(int i=0;i<=n;i++)
arr.add(i);
for(int i=2;i<=m;i++){
Iterator it = arr.iterator();
while(it.hasNext()){
Integer element = it.next();
if(element%i==0)
count++;
}
}
System.out.println(count);
}
}
Теперь, если я использую эту программу, это даст мне приблизительно O (n * m), которого я не хочу. Есть ли способ получить доступ ко всем элементам в списке массивов без использования какого-либо цикла?
Что именно вы пытаетесь сделать? Похоже, ваш код указывает, являются ли какие-либо числа в '[0..N]' факторами любых чисел в '[2..M]' (который будет «истинным» для любых N и M обоих> = 2). – 4castle
@ 4castle Yea и я имею эти числа от 0 до n в списке массивов. И я не хочу использовать другой цикл для списка массивов. –
Что я говорю, ваша программа может быть сведена к 'System.out.println (n> = 2 && m> = 2);' – 4castle