首先,它们之间的主要区别是什么?
我发现的唯一一件事是unordered_set没有操作员[].我应该如何访问元素unordered_set,因为没有[]?
哪个容器使用随机访问内存(或两者)?
哪一个在任何意义上更快或使用更少的内存?
我想在流上连续执行以下操作.
1).我想从创建数字流2来n.
我想这可以这样做:IntStream.range(2, n).
2).添加过滤器,只有当此数字不能被已通过此过滤器的任何其他数字整除时,才能使数字更进一步.
我无法实现这样的过滤器.我想我必须创建一个包含an的匿名类,ArrayList我将存储通过此过滤器的所有数字ArrayList.这一切应该看起来像:
IntStream.range(2, n).filter(new IntPredicate() {
ArrayList<Integer> prev;
@Override
public boolean test(int value) {
if (prev == null) {
prev = new ArrayList();
return true;
}
for (int i = 0; i < prev.size(); i++) {
if (value % prev.get(i) == 0) {
return false;
}
}
prev.add(value);
return true;
}
Run Code Online (Sandbox Code Playgroud)
3).获取Map<Integer, Integer>,其中密钥为数百(即100,200,300,400等),值为每百个中的素数数.所以对于百,100我必须找到[100,199]范围内的素数.
我想非常清楚,在第二步之后,流中只剩下素数.但是我不知道如何执行第三步并且不确定我的第二步的实现.
能帮我解决所有操作吗?