使用 java 流从列表中获取素数
get prime numbers from List using java stream
如问题标题所述
我写了这样的方法。我不知道如何过滤以从列表中获取质数。
编辑:我想知道是否可以只使用一个 long return 和流来检查
edit2:知道我知道我不能
public static List<Integer> primeNumbers(List <Integer> list) {
return Optional.ofNullable(list)
.orElse(Collections.emptyList())
.stream()
.filter(Objects::nonNull)
.filter(i -> i %2 ==0)
.toList();
}
不好意思,先post这里
您可以使用(或误用)BigInteger.isProbablePrime
:
import java.math.BigInteger;
....
public static List<Integer> primeNumbers(List <Integer> list) {
return list.stream()
.filter(i -> BigInteger.valueOf(i).isProbablePrime(10))
.collect(Collectors.toList());
}
如问题标题所述 我写了这样的方法。我不知道如何过滤以从列表中获取质数。 编辑:我想知道是否可以只使用一个 long return 和流来检查 edit2:知道我知道我不能
public static List<Integer> primeNumbers(List <Integer> list) {
return Optional.ofNullable(list)
.orElse(Collections.emptyList())
.stream()
.filter(Objects::nonNull)
.filter(i -> i %2 ==0)
.toList();
}
不好意思,先post这里
您可以使用(或误用)BigInteger.isProbablePrime
:
import java.math.BigInteger;
....
public static List<Integer> primeNumbers(List <Integer> list) {
return list.stream()
.filter(i -> BigInteger.valueOf(i).isProbablePrime(10))
.collect(Collectors.toList());
}