vector去重java_Java代码工具箱_用Set给List/Vector去重

参考

方法一:需要2个容器,1个迭代去重,1个作为结果容器。

此方法其实想法比较简单也是正常思路:

packagecom.yonyou.test;

importjava.util.List;

importjava.util.Vector;

publicclassTest{

publicstaticvoidmain(String[]args){

Listvector=newVector();

vector.add("Hello");

vector.add("world");

vector.add("Hello");

System.out.println("去重之前vector中的集合为:"+vector.toString());

ListnewVector=newVector();

for(Stringstr:vector)

{

if(!newVector.contains(str))

newVector.add(str);

}

System.out.println("去重之后vector中的集合为:"+newVector.toString());

}

}

方法二:

对于方法一而言,这也许是一个小窍门。利用的是Set集合中不允许出现重复的元素。

packagecom.yonyou.test;

importjava.util.HashSet;

importjava.util.List;

importjava.util.Set;

importjava.util.Vector;

publicclassTest{

publicstaticvoidmain(String[]args){

Listvector=newVector();//这里的vector可以换成ArrayList或者LinkedList,效果都一样

vector.add("Hello");

vector.add("world");

vector.add("Hello");

System.out.println("去重之前vector中的集合为:"+vector.toString());

Setset=newHashSet(vector);

vector=newVector(set);

System.out.println("去重之后vector中的集合为:"+vector.toString());

}

}

方法三:参考

当需要去重的东西是对象,而不是简单类型时,就需要用到如下的高级操作了。

很棒的方法,比迭代然后contains快捷高效。

/**

*将列表中重复的用户移除,重复指的是name相同

*

*@paramuserList

*@return

*/

publicstaticArrayListremoveDuplicteUsers(ArrayListuserList){

Sets=newTreeSet(newComparator(){

@Override

publicintcompare(Peopleo1,Peopleo2){

returno1.getName().compareTo(o2.getName());  //定义People对象的比较函数

}

});

s.addAll(userList);           //利用set的比较函数,去除重复用户

returnnewArrayList(s);   //再转换回List

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VectorJava中的一种动态数组,它可以根据需要自动增长和缩小。Vector的使用非常广泛,下面详细介绍一下它的使用方法。 1. 创建Vector对象 创建Vector对象的方式有两种: - 使用无参构造函数创建一个空的Vector对象: ```java Vector vector = new Vector(); ``` - 使用带参构造函数创建指定大小的Vector对象: ```java Vector vector = new Vector(int initialCapacity); ``` 2. 添加和获取元素 向Vector中添加元素的方式有两种: - 使用add()方法添加元素到Vector的末尾: ```java vector.add(element); ``` - 使用insertElementAt()方法在指定位置插入元素: ```java vector.insertElementAt(element, index); ``` 获取Vector中的元素也有两种方式: - 使用get()方法获取指定位置的元素: ```java vector.get(index); ``` - 使用elementAt()方法获取指定位置的元素: ```java vector.elementAt(index); ``` 3. 修改和删除元素 修改Vector中的元素使用set()方法: ```java vector.set(index, element); ``` 删除Vector中的元素使用remove()方法: ```java vector.remove(index); ``` 4. 判断Vector是否为空 使用isEmpty()方法来判断Vector是否为空: ```java vector.isEmpty(); ``` 5. 获取Vector的大小 使用size()方法获取Vector的大小: ```java vector.size(); ``` 6. 遍历Vector 使用for循环遍历Vector中的元素: ```java for (int i = 0; i < vector.size(); i++) { Object element = vector.get(i); // do something with element } ``` 使用迭代器Iterator遍历Vector中的元素: ```java Iterator iterator = vector.iterator(); while (iterator.hasNext()) { Object element = iterator.next(); // do something with element } ``` 以上就是Vector的使用方法,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值