Java .get函数如何使用ArrayList,该索引是否变为空?
我正在写一个有ImageView搜索列表的程序。我正在使用.get从一个arraylist中取出一个骰子图像视图,并将其添加到另一个arraylist中,该arraylist将显示选中的所有骰子。我很困惑,因为使用.get是否会将其从原始Arraylist中删除 在我上面的代码中,Dicingame ArrayList已经添加了6个图像视图骰子。我随机选择一个并将其添加到我的rolledhand数组列表中5次。当我尝试输出rolledhand的相同索引时,我的场景中只显示一个,而不是两个相同的索引 我不是想把它拿走。我之所以这么问,是因为出于某种原因,如果两个骰子都来自DicingName中的同一位置,我的程序将不会显示它们。ArrayListget不会删除任何内容。它只获取元素: 公共E-getint索引 返回此列表中指定位置的元素 如果要在某个位置获取并删除图元,请改用ArrayListMove: 公共电子删除索引 删除此列表中指定位置的元素。将任何后续元素向左移动会从其索引中减去一个 或者,如果要弹出元素get并删除第一个/最后一个元素,请使用Queue或Stack [编辑] 关于您的问题,根据ImageView继承的文档,视图上只显示一个元素: 在场景图中的任何位置,节点最多只能出现一次。具体地说,节点在以下所有情况中只能出现一次:作为场景的根节点、父节点的子节点列表或节点的剪辑 如果程序将子节点添加到父节点(包括组、区域等),并且该节点已经是其他父节点的子节点或场景的根节点,则该节点将自动且静默地从其前父节点移除Java .get函数如何使用ArrayList,该索引是否变为空?,java,arraylist,imageview,vbox,hbox,Java,Arraylist,Imageview,Vbox,Hbox,我正在写一个有ImageView搜索列表的程序。我正在使用.get从一个arraylist中取出一个骰子图像视图,并将其添加到另一个arraylist中,该arraylist将显示选中的所有骰子。我很困惑,因为使用.get是否会将其从原始Arraylist中删除 在我上面的代码中,Dicingame ArrayList已经添加了6个图像视图骰子。我随机选择一个并将其添加到我的rolledhand数组列表中5次。当我尝试输出rolledhand的相同索引时,我的场景中只显示一个,而不是两个相同的索
不,只是得到,不要移除任何东西。你得到你问题的答案了吗?任何反馈都会对其他读者有所帮助。如果您从列表中删除该元素,您可能还应该将参数的值减少到nextInt6im不尝试删除它。我只是想知道,为什么我第二次尝试从滚动的手中输出相同的索引时,它不起作用。@PaulAnthonyMorillo,因为根据文档,节点在场景图中的任何位置最多出现一次。请查看更新的答案。是否有其他复制方法@Andreas@PaulAnthonyMorillo您应该使用相同的图像src实例化另一个ImageView。好了,没有其他正式的方式了。
ArrayList<ImageView> rolledhand=new ArrayList<>(5);
Random rand = new Random();
for(int i=0;i<5;i++)
{
int randomNum = rand.nextInt(6);
rolledhand.add(diceingame.get(randomNum));
}
VBox diceRolled1=new VBox(rolledhand.get(0));
VBox diceRolled2=new VBox(rolledhand.get(0));