去除List列表中反复值(稍作调整,也适合于List<T> 和 List<?>)
方法一 循环元素删除
- public static void removeDuplicate(List list) {
- for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
- for ( int j = list.size() - 1 ; j > i; j -- ) {
- if (list.get(j).equals(list.get(i))) {
- list.remove(j);
- }
- }
- }
- System.out.println(list);
方法二
// 删除ArrayList中反复元素
- public static void removeDuplicate(List list) {
- for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
- for ( int j = list.size() - 1 ; j > i; j -- ) {
- if (list.get(j).equals(list.get(i))) {
- list.remove(j);
- }
- }
- }
- System.out.println(list);
方法三 删除ArrayList中反复元素,保持顺序
- // 删除ArrayList中反复元素,保持顺序
- public static void removeDuplicateWithOrder(List list) {
- Set set = new HashSet();
- List newList = new ArrayList();
- for (Iterator iter = list.iterator(); iter.hasNext();) {
- Object element = iter.next();
- if (set.add(element))
- newList.add(element);
- }
- list.clear();
- list.addAll(newList);
- System.out.println( " remove duplicate " + list);
- }
方法四 linq
- IList<string> U_list= new List<string>();
- IList<string> Update_list= new List<string>();
- var ulist = (from li in U_list
- select li).Distinct();
- foreach (var d in ulist)
- {
- Update_list.Add(d);
- }
其它情况:
去除List列表中反复值(3种解决方法)
public static void main(String[] args) {
String[] ar = { "dd", "c", "dd", "ff", "b", "e", "e" };
ArrayList list = new ArrayList();
for (int i = 0; i < ar.length; i++) {
list.add(ar[i]);
}
System.out.println("执行前:");
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
System.out.println();
/* 第一种方法 */
/**
* set方法去除list中反复的数据 set中插入反复的值仅仅保留一个
*/
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
/* 第一种方法 */
/* 另外一种方法 */
/**
* 第二中方法去除list中反复的数据
*/
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
/* 另外一种方法 */
/* 第三种方法 */
/**
* 普通的方法去除list中反复的数据
*/
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
/* 第三种方法 */
System.out.println("执行后:");
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
}
去除List列表中反复值(稍作调整,也适合于List<T> 和 List<?>)的更多相关文章
- selenium+java:获取列表中的值
selenium+java:获取列表中的值 (2011-08-23 17:14:48) 标签: 杂谈 分类: selenium 初步研究利用java+testNg框架下写selenium测试用例,今天 ...
- Python访问列表中的值
Python访问列表中的值: 列表中可以包含所有数据类型: # 列表中可以存放 数字数据类型数据 # int 型数据 lst = [1,2,3] print(lst) # [1, 2, 3] # fl ...
- c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值
using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.T ...
- erlang取列表中某个值的位置
有个需求,比如在一个列表中,取出一个元素的位置,如果出现重复都取出.例如:List = [2,3,10,324,88,29,12],可以求大于某个值的位置,也可以取某个值的位置. 废话少说,直接上代码 ...
- Python3基础 sort 将一个列表中的值升序排列
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- python列表中的值转换为字符串,及列表里的所有值拼接成一个字符串 的方法
后记: ls3='%'.join(ls2) 会把%加入拼接成的字符里面,同理,加入其它字符也一样,''空就是什么都不加,如上图 最后输出 1%我%22
- 使用easyui实现双击列表中某个值直接对其进行修改
var editCell = undefined; $('#dg').datagrid({ url:'DwzServlet', iconCls:'icon icon-list' , queryPara ...
- Java 去除List列表中的重复项
/** * Remove list duplicate item * * @param srcList * @return */ private static ArrayList<Resolve ...
- python 访问列表中的值
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print ...
随机推荐
- php install extension
wget http://nginx.org/download/nginx-1.8.0.tar.gz wget http://nginx.org/download/nginx-1.8.0.tar.gz ...
- Servlet基础知识(三)—— 会话机制Session,Session和Cookie的异同
Servlet会话机制: Http是一种无状态协议,它是无记忆的.也就是说,服务器不会保存用户的任何信息,当同一用户再次去访问时,服务器是不认识你的,它还是会建立新的连接. 但有时候我们需要服务器保留 ...
- smarty函数-转载
Smarty常用函数 2009-08-13 14:05:55| 分类: Php |举报 |字号 订阅 1 .include_once语句: 引用文件路径,路径必需正确. eg:include ...
- ListView 条目加载上滑下滑首尾缩放动画实现
要实现这个效果,只需要再适配器getView之前,给每个条目的view设置相应的动画即可. 首先需要2个动画的xml文件. 在res下新建anim文件夹:(res/anim) 第一个动画xml文件: ...
- PHP开发APP接口
第1章 APP接口简介 - 课程简介 (:) - APP接口介绍 (:) - 客户端APP通信 (:) 最近学习 - 客户端APP通信格式区别 (:) - APP接口做的哪些事儿 (:) 第2章 封装 ...
- PHP判断是中文还是英文
static function ischinese($s){ $allen = preg_match("/^[^/x80-/xff]+$/", $s); //判断是否是英文 $al ...
- 个人收集资料整理-WinForm
[2016-03-23 20:29:56] 别人收集常用: http://www.cnblogs.com/babycool/p/3541192.html
- Oracle数据库时间修改
http://blog.csdn.net/tianlesoftware/article/details/6163859
- Windows-1252对Latin1编码有改变(并不完全兼容),而且Latin1缺失了好多西欧字符(法语,德语,西班牙语都有)
主要是80到9F的编码被改掉了.从latin1的控制字符,变成了可以输出的可见字符. latin1编码: ISO-8859-1 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA x ...
- XML DOM 节点
来自:w3cschool菜鸟教程 在 DOM 中,XML 文档中的每个成分都是一个节点. DOM 节点 根据 DOM,XML 文档中的每个成分都是一个节点. DOM 是这样规定的: 整个文档是一个文档 ...