小编Joh*_* S.的帖子

Java 8 | HashMap的并行流

在java 8中,我知道他们添加了利用多核处理器的并行流,我知道你可以使用这样的东西:

List<String> list = new ArrayList<String>();
list.parallelStream().forEach(str -> System.out.println(str));
Run Code Online (Sandbox Code Playgroud)

但是我如何通过HashMap实现这样的目标呢?

Map<String, Integer> map = new HashMap<String, Integer>();
// won't work, because the Map class doesn't have the .parallelStream()
map.parallelStream().forEach((str, num) -> System.out.println(str + ":" + num));
Run Code Online (Sandbox Code Playgroud)

有谁知道怎么做这样的事情?谢谢

java parallel-processing foreach lambda hashmap

6
推荐指数
1
解决办法
1万
查看次数

Java | 将项目添加到列表<?>

我用Google搜索,我真的不明白该怎么做.我正在尝试将项目添加到这样的列表:List<?>.我的代码看起来像这样:

public class Test {
    private List<?> list;

    public Test(List<?> useThisList) {
        this.list = useThisList;
    }

    public void add(Object add) {
        this.list.add(add); // this won't compile
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如评论所述,该代码将无法编译.我试图将其更改为:

public void add(? add) {
    this.list.add(add);
}
Run Code Online (Sandbox Code Playgroud)

但是由于更明显的原因,这不会编译.有谁知道我需要改变它以使其正常运作?提前致谢!

顺便说一句,当它工作时,你应该能够这样做:

List<String> list = new ArrayList<String>();
new Test(list).add("hello");
Run Code Online (Sandbox Code Playgroud)

java generics list add

3
推荐指数
1
解决办法
79
查看次数

Java有毕达哥拉斯定理吗?

我使用Java Swing创建简单的游戏,如Pong和Air Hockey,我经常发现自己使用毕达哥拉斯定理来计算两点之间的距离.

虽然写入并不痛苦(可以简化为单行),但我想知道Java是否已经将它包含在某个地方.

我浏览了数学课,我没有看到任何东西.我不知道在哪里可以看,所以如果确实存在,有谁知道在哪里?

谢谢!

java swing distance pythagorean

1
推荐指数
1
解决办法
771
查看次数

Java | boolean不会重新评估/更新

我正在努力创建一个让你重复任务一定次数的课程,或直到满足条件.在继续之前,请考虑以下事项:

int test = 0;
Run Code Online (Sandbox Code Playgroud)

我的重复课:

public static abstract class Repeat {

    public void loop(int c) {
        for (int i = 0; i < c; i++) {
            run();
        }
    }

    public void until(boolean c) {
        while (!c) {
            run();
        }
    }

    public abstract void run();
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是until(boolean c)方法,而不是loop(int c)方法.该循环方法工作得很好,如下证明:

public static void main(String[] args) {
    new Repeat() {
        @Override
        public void run() {
            test += 1;
            System.out.println(test); // so I know what test …
Run Code Online (Sandbox Code Playgroud)

java evaluation loops boolean repeat

1
推荐指数
1
解决办法
281
查看次数

Java | 什么是/***/for?

我想知道/** hello */Java中的内容是什么.我目前使用它们的唯一原因是因为我喜欢它在Eclipse中如何显示蓝色而我懒得在我的偏好中改变颜色.我注意到当我自动添加像serialVersionUID它放在/** * */它上面的东西时,它实际上是什么?

java comments

-1
推荐指数
1
解决办法
287
查看次数