可能重复:
在迭代Collection时删除元素的高效等效项
private LinkedList flights;
Run Code Online (Sandbox Code Playgroud)
....
public void clear(){
ListIterator itr = flights.listIterator();
while(itr.hasNext()){
flights.remove(itr.next());
}
}
Run Code Online (Sandbox Code Playgroud)
....
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
at java.util.LinkedList$ListItr.next(Unknown Source)
at section1.FlightQueue.clear(FlightQueue.java:44)
at section1.FlightTest001.main(FlightTest001.java:22)
Run Code Online (Sandbox Code Playgroud)
它出什么问题了?不能理解为什么会给出错误,我确信我在arraylists或数组上使用了相同的代码并且它已经有效了.
/node_modules/vega-embed/build/src/embed.js 找不到模块:无法解析“E:\polymerui\polymerui\node_modules\vega-embed\build\src”中的“vega-lite”
在我的依赖项中“react-vega”:“^ 7.1.1”,“vega”:“^ 5.9.1”,“vega-lite”:“^ 4.0.2”,
所以我目前正在 React 工作(显然)。我想将 vega 添加到我的应用程序中。
首先我跑了
npm install vega vega-lite react-vega --save
Run Code Online (Sandbox Code Playgroud)
我没有安装其他 npm。
将 vega 导入到我的组件之一中。
import { Vega } from 'react-vega';
Run Code Online (Sandbox Code Playgroud)
使用示例之一添加了一个组件。
<Vega spec={this.state.spec} data={this.data} signalListeners={this.statesignalListeners} />
Run Code Online (Sandbox Code Playgroud)
也使用示例中的内容
spec: {
"width": 400,
"height": 200,
"data": [{ "name": "table" }],
"signals": [
{
"name": "tooltip",
"value": {},
"on": [
{ "events": "rect:mouseover", "update": "datum" },
{ "events": "rect:mouseout", "update": "{}" }
]
}
],
},
signalListeners: { hover: this.handleHover }
handleHover = (args) …Run Code Online (Sandbox Code Playgroud) 可能重复:
LinkedList迭代器删除
private LinkedList flights;
...
public FlightQueue() {
super();
flights = new LinkedList();
}
...
public void clear(){
ListIterator itr = flights.listIterator();
while(itr.hasNext()){
itr.remove();
}
}
Run Code Online (Sandbox Code Playgroud)
....
Exception in thread "main" java.lang.IllegalStateException
at java.util.LinkedList$ListItr.remove(Unknown Source)
at section1.FlightQueue.clear(FlightQueue.java:44)
at section1.FlightTest001.main(FlightTest001.java:22)
Run Code Online (Sandbox Code Playgroud)
不知道什么是错的,它在第一个itr.remove()显示错误.
我遇到了问题,我希望绘制一个正方形(飞行)并重新绘制以显示运动.按下按钮时此代码很好,苍蝇会"移动",但旧方块不会删除.我已经尝试过enviromentPanel.repaint()updateui()和removeall(),我无法让它工作,如果我使用其中任何一个,那么没有任何形状出现,我得到一个空白的屏幕.
import java.util.Random;
public class Fly implements Runnable{
private int xPosition;
private int yPosition;
private boolean eaten;
public Fly(){
Random randomGenerator = new Random();
xPosition = randomGenerator.nextInt(690) + 10;
yPosition = randomGenerator.nextInt(690) + 10;
eaten = false;
}
public int getxPosition() {
return xPosition;
}
public void setxPosition(int xPosition) {
this.xPosition = xPosition;
}
public int getyPosition() {
return yPosition;
}
public void setyPosition(int yPosition) {
this.yPosition = yPosition;
}
public boolean isEaten() {
return eaten;
}
public void setEaten(boolean …Run Code Online (Sandbox Code Playgroud) java ×3
iterator ×2
linked-list ×2
graphics ×1
javascript ×1
jpanel ×1
reactjs ×1
swing ×1
vega ×1