나는 TreeSet의 일부 인덱스를 나눌 모든 숫자를 제거하려고 내가 다음 코드제거 일치하는 요소
TreeSet<Integer> primes = new TreeSet();
Iterator<Integer> iter = primes.iterator();
int n = 100;
for (int i = n; i > 1; i--){
primes.add(i);
}
for (int i = 2; i < Math.sqrt(n); i ++){
while (iter.hasNext()){
int next = iter.next();
if (next % i == 0){
primes.remove(next);
}
}
}
System.out.println(primes);
을 사용하고 그러나 어떤 이유로, 세트에 어떤 요소를 얻을 수 없다 제거됨
제안을 ".", "" "?" 및 ","는 Java뿐만 아니라 영어로도 절대 유효한 문자입니다. :-) – peterh
TreeSet 대신 BitSet을 사용해야합니다. TreeSet은 약 500 배의 메모리를 사용하며 이와 같은 사소한 예에서도 훨씬 느립니다. –