小编Joh*_*ess的帖子

Inverted Collectors.toMap添加到ArrayList

我想把数字的频率放在一个TreeMap频率为频率的频率和频率为a 的数字中ArrayList.

我有两个问题:

1)我在第一个参数中得到"非静态方法无法从静态上下文引用"错误(AFAIK流引用一个对象 - 发生了什么?)

2)Collectors.toMap()有4个参数 - 看起来参数4需要使用新的TreeMap进行初始化>,参数2可以是ArrayList add()函数,参数3可以是null(可能).这是怎么做到的?

import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {

        List<Integer> array = Arrays.asList(1, 2, 4, 5, 6, 4, 8, 4, 2, 3);

        Map<Integer, Long> m = array.stream()
            .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

        System.out.println(m);

        TreeMap<Long, List<Integer>> tm = m.entrySet().stream()
            .collect(Collectors.toMap(Map.Entry::getValue, ...));
Run Code Online (Sandbox Code Playgroud)

目前我无法使用如何从 https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html到我需要的地方.

java java-8 java-stream collectors

6
推荐指数
3
解决办法
1044
查看次数

有没有办法重载索引赋值运算符?

我可以重载[]运算符Index以返回引用,但我不知道是否有重载运算符可以分配给对象。

这就是我想要做的:

point[0] = 9.9;
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我可以做的(获取值):

use std::ops::Index;

#[derive(Debug, Clone, Copy)]
pub struct Vec3 {
    e: [f32; 3],
}

impl Index<usize> for Vec3 {
    type Output = f32;
    fn index<'a>(&'a self, i: usize) -> &'a f32 {
        &self.e[i]
    }
}

fn main() {
    let point = Vec3 { e: [0.0, 1.0, 3.0] };
    let z = point[2];
    println!("{}", z);
}
Run Code Online (Sandbox Code Playgroud)

operator-overloading rust

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

OpenGL Red Book 8th - 第一个例子给出黑盒子(Ubuntu)

在经过许多网站建议的许多改动之后,从第8版OpenGL编程指南编译的第一个示例程序之后,我是一个黑盒子的骄傲所有者 - 从前几个小时开始有了很大的改进,但承认我看到它是令人尴尬的大多数情况下使用调试器,除非程序出现基本错误,否则我不知道在哪里查看.其他OpenGL示例已经运行,但我正在尝试在新书中运行第一个示例.

我的盒子:

john@zerofluid:~/Downloads$ glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 610/PCIe/SSE2
OpenGL version string: 4.3.0 NVIDIA 313.30
OpenGL shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL extensions:
Run Code Online (Sandbox Code Playgroud)

Linux zerofluid 3.8.0-26-generic#38-Ubuntu SMP Mon Jun 17 21:43:33 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux(最新13.04 Ubuntu)

我有一个问题 - 在这里发布的代码太多了,但这是本书的第一个例子 - 尽可能小,我不知道问题究竟在哪里.如果有人真的想帮忙的话会很酷 - 我会把它反馈给这本书的作者.是的,LoadShader在其他地方被发现并且可能是问题,但它应该是一个解决方案.当我无法获得编译的第一个例子时,对书中有任何信心是很难的.

它可以在这里找到:https: //github.com/kestess/opengl8thfirstexample.git

c++ opengl

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