Java 从向量的向量中删除元素

Java 从向量的向量中删除元素,java,Java,我尝试从Java中的verctors向量中删除一个元素,并将该向量设置到正确的位置 所以我尝试了这个,当然它不起作用,因为第(2)行返回整数: 定义: 矢量电流_域; 向量t=当前_域。get(k)。remove(0); 当前_域集合(k,t); 您需要从逻辑上考虑每个阶段返回的内容。将事情分解以帮助您,并为变量指定正确、有用的名称: Vector<Integer> subVector = current_domain.get(k); Integer intVal = subVect

我尝试从Java中的verctors向量中删除一个元素,并将该向量设置到正确的位置

所以我尝试了这个,当然它不起作用,因为第(2)行返回整数:

定义:

矢量电流_域;
向量t=当前_域。get(k)。remove(0);
当前_域集合(k,t);

您需要从逻辑上考虑每个阶段返回的内容。将事情分解以帮助您,并为变量指定正确、有用的名称:

Vector<Integer> subVector = current_domain.get(k);
Integer intVal = subVector.remove(0);
//... now, what do you actually want to do with the integer?
Vector subVector=current_domain.get(k);
整数intVal=子向量。删除(0);
//... 现在,你到底想对整数做什么?

顺便说一句,您使用的是一种非常奇怪的数据结构,无论您使用它做什么,它都可能是低效的(尽管您的工作目的也不是很清楚)。

您是否正在尝试:

Vector<Vector<Integer>> current_domain;

Vector<Integer> t = current_domain.remove(k);
// do something to t
current_domain.set(k, t);
矢量电流_域;
向量t=当前_域。移除(k);
//做点什么
当前_域集合(k,t);
??Remove返回元素,因此您希望从包含该元素的集合中调用它。

Vector t=current\u domain.get(k).Remove(0);
Vector<Integer> t = current_domain.get(k).remove(0);

current_domain.get(k)-->returns a Vector<Integer>

Vector<Integer>.remove(0)---> returns an Integer
current_domain.get(k)-->返回一个向量 Vector.remove(0)-->返回一个整数
尝试:

Vector current\u domain=null;
向量t=当前_域。get(0);
t、 移除(0);
返回一个
向量
。当您在其上使用
remove(0)
时,您将得到一个
整数
,您无法将其分配给
向量

此外,当您使用:-

current_domain.get(k).remove(0);
它将自动修改您的
向量。所以你不需要再设置一次

    Vector<Vector<Integer>> current_domain = new Vector<Vector<Integer>>();

    Vector<Integer> vect = new Vector<Integer>();
    vect.add(4);
    vect.add(5);

    current_domain.add(vect);
    current_domain.get(0).remove(0);

    System.out.println(current_domain);
因此,您可以看到
向量
已修改



作为旁注,我建议使用
ArrayList
而不是
Vector

“当然不起作用”——那么,你的问题是什么?如果你分享了你真正想要实现的目标或期望得到的结果,这会有所帮助。实际上,
t.remove(0)
会自动修改原始向量。所以你不需要再设置一次。因此,可以删除最后一行。你知道
t
参考点指向相同的
Vector
对吗?@RohitJain-oops,它实际上是一个复制粘贴的东西P我现在已经编辑了:)@GanGnaMStYle。。啊!!发生。你看,a+1:)
current_domain.get(k)
current_domain.get(k).remove(0);
    Vector<Vector<Integer>> current_domain = new Vector<Vector<Integer>>();

    Vector<Integer> vect = new Vector<Integer>();
    vect.add(4);
    vect.add(5);

    current_domain.add(vect);
    current_domain.get(0).remove(0);

    System.out.println(current_domain);
[[5]]