我对Lisp并不陌生,正在尝试编写一个程序,仅要求用户输入3个数字,然后对它们求和并打印输出。
我读到您可以使用类似的功能:
(defvar a)
(setq a (read))
Run Code Online (Sandbox Code Playgroud)
要在Lisp中设置变量,但是当我尝试使用LispWorks编译代码时,出现以下错误:
End of file while reading stream #<Concatenated Stream, Streams = ()>
我觉得这应该相对简单,不知道我要去哪里错。
这可能是一个愚蠢的问题,但是如何在Java中返回Map.Entry对?
给定类似的方法:
public Map.Value<K,V> next(){
return ???
}
Run Code Online (Sandbox Code Playgroud)
如何建立并返回地图值?这是在我为哈希映射实现的迭代器内部。我没有任何问题可以获取要返回的值,但是Java不允许我实例化Map.Entry对象,除非我实现了所有抽象方法,即使这样也无法正常工作。我是否需要为Map.Entry构建一个构造函数,该构造函数可以传递我提取的K,V值?
任何帮助/指导非常感谢
更新
我正在尝试为自定义HashMap实现迭代器,并且需要实现next()方法-我的代码结构为:
@Override
public Iterator<Map.Entry<K, V>> iterator() {
return new Iterator<Map.Entry<K, V>>(){
public boolean hasNext(){
return false;
}
public Map.Entry<K,V> next(){
Map.Entry<K, V> retVal = new Map.Entry<K, V>() {
public Map.Entry<K, V>(K key, V val){
}
@Override
public K getKey() {
// TODO Auto-generated method stub
return null;
}
@Override
public V getValue() {
// TODO Auto-generated method stub
return null;
}
@Override
public V setValue(V value) {
// TODO …Run Code Online (Sandbox Code Playgroud)