首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的连接向量

Java中的连接向量
EN

Stack Overflow用户
提问于 2013-02-07 03:53:44
回答 2查看 15.5K关注 0票数 4

有没有什么简单快捷的方法可以将2个java向量合并为1?

例如,如果我有:

代码语言:javascript
复制
  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()等来做这件事,我在问是否有更快的方法。

编辑:我也希望重复的对象被排除。

EN

回答 2

Stack Overflow用户

发布于 2013-02-07 04:00:08

好的!

代码语言:javascript
复制
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

票数 6
EN

Stack Overflow用户

发布于 2013-02-07 03:56:14

你可以这样做:

代码语言:javascript
复制
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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14737578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档