参考

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

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

package com.yonyou.test;

import java.util.List;
import java.util.Vector; public class Test{
public static void main(String[] args) {
List<String> vector=new Vector<String>();
vector.add("Hello");
vector.add("world");
vector.add("Hello"); System.out.println("去重之前vector中的集合为:"+vector.toString()); List<String> newVector=new Vector<String>();
for(String str:vector)
{
if(!newVector.contains(str))
newVector.add(str);
} System.out.println("去重之后vector中的集合为:"+newVector.toString()); }
}
方法二:
对于方法一而言,这也许是一个小窍门。利用的是Set集合中不允许出现重复的元素。
package com.yonyou.test;

import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.Vector; public class Test{
public static void main(String[] args) {
List<String> vector=new Vector<String>(); //这里的vector可以换成ArrayList或者LinkedList,效果都一样
vector.add("Hello");
vector.add("world");
vector.add("Hello"); System.out.println("去重之前vector中的集合为:"+vector.toString()); Set<String> set=new HashSet<String>(vector);
vector=new Vector<String>(set); System.out.println("去重之后vector中的集合为:"+vector.toString());
}
}
 

方法三:参考

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

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

/**
* 将列表中重复的用户移除,重复指的是name相同
*
* @param userList
* @return
*/
public static ArrayList<People> removeDuplicteUsers(ArrayList<People> userList) {
Set<People> s = new TreeSet<People>(new Comparator<People>() {
@Override
public int compare(People o1, People o2) {
return o1.getName().compareTo(o2.getName());  //定义People对象的比较函数
}
});
s.addAll(userList);           //利用 set 的比较函数,去除重复用户
return new ArrayList<People>(s);    //再转换回List
}

Java代码工具箱_用Set给List/Vector去重的更多相关文章

  1. Java代码工具箱之控制台输出重定向_控制台输出到文件

    1. 情形:有时候控制台输出太多,在MyEclipse显示不全. 2. 说明:本代码只会重定向 system.out 的内容, error及其它不受代码影响.其它应该类似. //自定导入必要库 //然 ...

  2. Java代码工具箱之超出游标最大数

    1. Java大量写入oracle时容易出现此错.经过此错,也触动自己要深刻理解 java 的 prepareStatement 等对象,及数据库的连接与释放. 2. 原因:经常会出现在 for 循环 ...

  3. Java代码规范_插件_阿里java开发手册

    给大家分享一个阿里巴巴的java开发规范,在日常自动化工作中我们可以参考一下,特别是用java进行coding的同学. 而且还可以利用相应的插件进行代码扫描检测,感兴趣的们可以马上应用到自动化中来. ...

  4. Java代码工具箱之链接Oracle

    1. 需要oracle的 odbc  jar包 2. 代码 3. 注意:ps对象和statement对象最好用完立即释放,尤其是读写数据库代码出现在 for 循环语句中时. 否则会出现游标不够的情况, ...

  5. Java代码工具箱之解析单行单列简单Excel

    1. 使用开源工具 jxl.jar 2. 功能:解析常规Excel.xls格式测试可行,xlsx未测试.Excel测试格式为常规类似table这种简单布局文件.第一行为标题,后面行为内容.代码 可正确 ...

  6. Java面向对象理解_代码块_继承_多态_抽象_接口

    面线对象: /* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生 ...

  7. Jmeter4.0---- jmeter中写入java代码_简单了解(15)

    1.说明 BeanShell:是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型.命令.闭包等通用脚本 ...

  8. 使用 Google Guava 美化你的 Java 代码

    文章转载自:http://my.oschina.net/leejun2005/blog/172328 目录:[ - ] 1-使用 GOOGLE COLLECTIONS,GUAVA,STATIC IMP ...

  9. java代码的初始化过程研究

        刚刚在ITeye上看到一篇关于java代码初始化的文章,看到代码我试着推理了下结果,虽然是大学时代学的知识了,没想到还能做对.(看来自己大学时掌握的基础还算不错,(*^__^*) 嘻嘻……)但 ...

随机推荐

  1. Linq to xml 读取xml文件或xml字符串

    XMLFile1.xml: XDocument Contacts = XDocument.Load("XMLFile1.xml"); //XElement Contacts = X ...

  2. promise封装小程序的蓝牙类

    // pages/bluetooth/bluetooth.js import { BluetoothMode } from '../../models/bluetooth.js' import {Sy ...

  3. before和after兼容性测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 11-散列3 QQ帐户的申请与登陆 (25 分)

    实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式: 输入首先给出一个正整数N(≤),随后给出N行指令.每行指令的格式为:“命令符(空格)QQ号码( ...

  5. Maven_setting.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  6. GUI的最终选择 Tkinter(五):Text用法

    Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...

  7. JVM基础知识2 垃圾收集器与内存分配策略

    如何判断堆中的哪些对象可以被回收 主流的程序语言都是使用根搜索算法(GC Roots Tracing)判定对象是否存活 基本思路是:通过一系列名为“GC Roots”的对象作为起点,从这些节点开始向下 ...

  8. JAVA 多线程 Callable 与 FutureTask:有返回值的多线程

    java多线程中,如果需要有返回值,就需要实现Callable接口. 看例子: 先建立一个Dowork这个类,就是平时某个业务的实现 package com.ming.thread.one; impo ...

  9. linux php 安装xdebug

    我的环境是PHP 5.2.5,下载的xdebug是Xdebug v2.2.1 源码包 PHP 5.3.20用的是Xdebug v2.1.0  {版本一定要匹配} 下载地址为:http://xdebug ...

  10. 《大话设计模式》num02---策略模式

    2018年01月22日 22:04:57 独行侠的守望 阅读数:72更多个人分类: 设计模式编辑版权声明:本文为博主原创文章,转载请注明文章链接. https://blog.csdn.net/xiao ...