- 浏览: 797167 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
方法一:循环元素删除 (使用的方式FOR循环操作。不建议使用大数据量的转换。。n*n的循环量)
// 删除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);
}
方法二:通过HashSet剔除 (hash数组不能产生重复数据的特性,来转换LIST)
// 删除ArrayList中重复元素
HashSet hSet = new HashSet(list);
list.clear();
list.addAll(hSet);
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);
}
________________________________________________
// 项目实践:删除ArrayList中重复元素,保持顺序
public List removeDuplicateWithOrder(List list) {
for (int i = 0; i < list.size(); i++) {
System.out.println("剔除前:"+list.get(i));
}
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);
for (int i = 0; i < list.size(); i++) {
System.out.println("剔除后:"+list.get(i));
}
return list;
}
发表评论
-
Apache Ant在Windows 下的安装和配置
2013-03-22 15:06 987引自:http://www.cnblogs.com/ghj19 ... -
java文件操作
2013-03-20 10:40 721一.获得控制台用户输入的信息 /** *//**获得控制台 ... -
DES加密
2013-03-20 10:24 1578数据加密算法(Data Encryption Algorith ... -
HttpSessionBindingListener实现在线人员查看即人数统计
2013-03-19 17:02 1785jsp+servlet的效果,需要以下5个文件: logi ... -
java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
2013-02-22 14:12 1158,+、*、|、\等符号在正则表达示中有相应的不同意义。一般来讲 ... -
字符串“2012-09-06”转换为java.util.Date“2012-09-06”
2012-09-06 12:00 624package com.tender.news.util; i ... -
时间字符串str转标准格式日期字符串str 00:00:00
2012-08-31 09:19 1243public class Test { public st ... -
形如Mon Dec 31 00:00:00 CST 2012字符串转换为相应日期Date
2012-08-31 09:01 14106package com.tender.news.util; ... -
Calendar在时间上加上任意天数(正/负),就可以得到相应的日期
2012-08-29 09:52 1932import java.text.SimpleDateForm ... -
Date时间相减问题
2012-08-29 09:51 1250import java.text.ParseException ... -
日历上翻一个月一个星期
2012-08-24 13:16 913//将日历上翻1个月 返回日期 public ... -
百分比形式保留小数点后2位(且四色五入)
2012-08-14 17:02 2824//有效位数 function math(num,v) { ... -
"o_neww_ww_123"分割字符串split
2012-08-08 15:50 899public class Test01 { p ... -
如何用div隐藏table中的某几行呢?
2012-07-20 11:17 5795其实很简单的功能,不过貌似网上都找不到适合的参考用法。在这里留 ... -
IfHanZi --判断字符串中是否包含汉字
2012-07-19 09:05 900public class IfHanZi { pub ... -
文件类型判断:doc/dot
2012-07-18 11:18 1105var fileName = document.forms[0 ... -
Oracle 获取当前年、月、日
2012-07-16 11:43 1704Oracle 获取当前年、月、日 第一种:new Timest ...
相关推荐
// 删除ArrayList中重复元素 public static void removeDuplicate(List list) { for ( int i = 0 ; i () - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j).equals(list.get(i...
在Java编程中,处理整型数组并删除其中的重复元素是一项常见的任务。这通常涉及到集合类的使用,比如HashSet或ArrayList,以及基本的数组操作。本文将深入探讨如何实现这个功能,同时提供一种可能的解决方案。 首先...
总结来说,Java中删除`ArrayList`中的重复元素主要有两种方式:通过`HashSet`和`LinkedHashSet`。`HashSet`适用于不关心元素顺序的情况,而`LinkedHashSet`则适用于需要保持元素插入顺序的场景。这两种数据结构都是...
在这个主题中,我们将深入探讨如何使用ArrayList来过滤数组中的重复元素,并通过一个完整的Demo来演示这一过程。ArrayList是Java集合框架中的一种动态数组,它可以方便地添加、删除和修改元素。 首先,让我们了解...
在Java编程中,处理数据集合时,我们常常会遇到去除重复元素的需求。这可能是为了保持数据的唯一性,或者为了优化存储和计算效率。本文将详细介绍如何在Java中去除重复元素,主要关注数组和列表这两种常见数据结构。...
在这个场景中,我们讨论的是使用ArrayList实现顺序表,并探讨如何删除其中的重复元素。ArrayList是Java集合框架中的一种动态数组,允许在任何位置插入和删除元素,具有较高的灵活性。 以下是对给定代码的详细解释:...
它允许包含重复的元素,也允许插入null值,这是区别于Java集合中的另一个List接口实现类LinkedList的重要特点。ArrayList内部通过一个数组来保存其所有元素,这个数组就是ArrayList的“elementData”字段。 ...
在Java中,ArrayList实现了List接口,因此它支持有序的元素序列,并且允许有重复元素。本文将深入解析ArrayList的主要方法,帮助你更好地理解和运用这些方法。 1. 构造方法 - ArrayList(): 这是最基本的构造器,...
根据给定文件的信息,本文将详细介绍如何在Java的List集合中去除重复元素的三种方法:使用for循环、使用迭代器以及利用HashSet的特性。 ### 一、使用for循环去除重复元素 这种方法的基本思想是通过双重循环来遍历...
总之,ArrayList作为Java中的重要容器类,具有灵活的容量调整和高效的读取特性,但在插入和删除操作上需要注意其性能影响。理解ArrayList的工作原理和性能特征,有助于编写出更加高效和稳定的代码。
总结来说,Java中ArrayList的去重可以通过HashSet转换实现,或者使用循环比较并移除重复元素的方式。在实际应用中,根据具体的需求(如是否保持原有顺序、性能要求等)选择合适的方法。同时,理解不同数据结构如...
这可以通过调用`addAll`并将结果存储在一个新的`ArrayList`中实现,然后使用`HashSet`来去除重复项,因为`HashSet`不允许重复元素。 - 使用`Collections.sort()`方法,对合并后的列表按`stu_no`、`name`和`age`字段...
ArrayList作为Java集合框架中的一员,它提供了丰富的操作接口,包括对元素的添加、删除、修改以及排序等。本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort...
由于其灵活的特性(比如可以方便地增加或删除元素),`ArrayList` 成为了开发中最常用的集合类型之一。 #### 二、底层实现的核心技术 ##### 1. 数组底层结构 `ArrayList` 底层使用数组来存储数据,数组的名字叫做...
而HashSet和HashMap则适用于快速查找和不允许重复元素的场景。 为了更好地理解和应用这些知识,你可以下载提供的"Java 实例 - 删除集合中指定元素源代码+详细指导教程.rar"文件,里面包含了示例代码和详细的解释,...
- **Set**:Set 类似于集合,不存储重复元素,没有顺序,但可以进行快速的成员测试。你可以通过`add()`, `contains()`, `remove()`等方法操作Set。 - **HashMap**:HashMap 提供了键值对的存储,其中键必须是唯一的...
它不允许有重复元素,通过重写对象的equals()和hashCode()方法来确定元素是否相等和在哈希表中的位置。HashSet在插入新元素时会计算其Hashcode,根据Hashcode将元素放入哈希表的特定位置,以达到快速查找的目的。当...
- ArrayList 和 LinkedList 的共同特点是它们都属于 Collection 的子接口 List,允许有重复元素,并且是有序的。 - HashMap 和 Hashtable 都实现了 Map 接口,HashMap 更快但不是线程安全的,而 Hashtable 是线程...
- **元素唯一性**:`List`中的元素默认不允许重复,而`Map`的键是唯一的,但键对应的值可以重复。 在选择使用哪种数据结构时,应考虑具体的需求,比如是否需要线程安全、数据访问模式、效率要求以及元素的唯一性等...