Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改向量中元素的顺序?_Java - Fatal编程技术网

Java 如何更改向量中元素的顺序?

Java 如何更改向量中元素的顺序?,java,Java,我有一个水果类型的载体。我可以在绘图画布上插入不同类型的水果。如果我有两个重叠的水果,我希望能够在选择水果后提升它,使它现在看起来好像它位于其他水果的顶部 我的基本想法是在按下jbutton后调用一个raiseFruit()。我创建一个等于所选水果的临时变量集,然后尝试将其设置为等于(a+1)…的水果,因此向量中的下一个位置。然后我将它设置为等于temp变量。我认为这是正确的想法 public void raiseFruit() { //raisefruit button if (_fr

我有一个水果类型的载体。我可以在绘图画布上插入不同类型的水果。如果我有两个重叠的水果,我希望能够在选择水果后提升它,使它现在看起来好像它位于其他水果的顶部

我的基本想法是在按下jbutton后调用一个raiseFruit()。我创建一个等于所选水果的临时变量集,然后尝试将其设置为等于(a+1)…的水果,因此向量中的下一个位置。然后我将它设置为等于temp变量。我认为这是正确的想法

public void raiseFruit() { //raisefruit button
    if (_fruitIsSelected==true) {
        for (int i=0; i<_storedFruit.size() - 1; i++) {
            FunFruit a = _storedFruit.get(i);
            FunFruit b = _storedFruit.get(i + 1);
            if (_storedFruit.get(i+1)!=null) {
                FunFruit temp = a;
                _storedFruit.get(i) = _storedFruit.get(i+1);
                a=b;
                b = temp;
                //_storedShapes.setElementAt(_storedShapes.get(i+1), i);
                //_storedShapes.setElementAt(_currentShape, i+1);
                repaint();
            }
        }
    }
}
public void raiseFruit(){//raiseFruit按钮
如果(_fruitIsSelected==true){

对于(int i=0;i您正在重新分配临时变量,而不是列表。使用

_fruits.setElementAt(fruit, index);
在列表中设置元素而不是

_fruits.get(_currentSelectedFruit + 1) = temp;

在这个例子中,你只是把get返回的指针分配给temp

只是好奇,你在哪里学会了使用
Vector
?你确定你没有读到严重过时的Java书籍/教程吗?十多年来
Vector
被认为是一个遗留/过时的类。为什么Vector被认为是一个过时的类课堂?我在高中的AP计算机科学课上学会了使用它们。向量肯定不是过时的。虽然它们的用处和ArrayList或者从Collections课堂上获得的对象一样大,但它们仍然具有其他类似课堂上无法使用的功能。