我想把数字的频率放在一个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到我需要的地方.
我可以重载[]运算符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) 在经过许多网站建议的许多改动之后,从第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