有没有什么简单快捷的方法可以将2个java向量合并为1?
例如,如果我有:
Vector<Object> Va = (Vector<Object>)Return_Vector_with_Objs();
Vector<Object> Vb = (Vector<Object>)Return_Vector_with_Objs();
Vector<Object> Vmerge_a_b = function_that_takes_a_b_merges(Va,Vb);有没有像function_that_takes_a_b_merges这样的函数或者简单的方法来合并这两个向量?
我不想用循环和add()等来做这件事,我在问是否有更快的方法。
编辑:我也希望重复的对象被排除。
发布于 2013-02-07 04:00:08
好的!
static Vector<Object> function_that_takes_a_b_merges(Vector<Object> Va, Vector<Object> Vb) {
Vector<Object> merge = new Vector<Object>();
merge.addAll(Va);
merge.addAll(Vb);
return merge;
}从一个新的向量开始是很重要的,否则如果调用Va.addAll(),就会更改Va。
发布于 2013-02-07 03:56:14
你可以这样做:
Set<String> set = new HashSet<>(va);
set.addAll(vb);
Vector<String> merged = new Vector<>(set);Note:Vector现在是一个相当老的Collection,它有同步方法的开销,这是有性能代价的。也可以使用ArrayList,它还具有来自List接口契约的addAll方法。如果您确实需要同步的Collection,您可以使用Collections.synchronizedList来同步您的原始List。
https://stackoverflow.com/questions/14737578
复制相似问题