java里arraylist删除节点方法_Java之——删除ArrayList中的反复元素的2种方法
ArrayList是Java中最经常使用的集合类型之中的一个。它同意灵活加入多个null元素,反复的元素,并保持元素的插入顺序。在编码时我们经常会遇 到那种必须从已建成的ArrayList中删除反复元素的要求。这篇文章将给出两种从ArrayList中删除反复元素的方法。
方法1:使用HashSet删除ArrayList中反复的元素
在该方法中。我们使用HashSet来删除反复的元素。
如你所知,HashSet不同意有反复的元素。我们使用HashSet的这个属性来删除已建 成的ArrayList中的反复元素。可是,这样的方法有一个缺点。那就是,它会删除ArrayList中元素的插入顺序。
这意味着。删除反复的元素后,元 素的插入顺序就不正确了。先来看以下这个样例
import java.util.ArrayList;
import java.util.HashSet;
public class MainClass
{
public static void main(String[] args)
{
//Constructing An ArrayList
ArrayList listWithDuplicateElements = new ArrayList();
listWithDuplicateElements.add("JAVA");
listWithDuplicateElements.add("J2EE");
listWithDuplicateElements.add("JSP");
listWithDuplicateElements.add("SERVLETS");
listWithDuplicateElements.add("JAVA");
listWithDuplicateElements.add("STRUTS");
listWithDuplicateElements.add("JSP");
//Printing listWithDuplicateElements
System.out.print("ArrayList With Duplicate Elements :");
System.out.println(listWithDuplicateElements);
//Constructing HashSet using listWithDuplicateElements
HashSet set = new HashSet(listWithDuplicateElements);
//Constructing listWithoutDuplicateElements using set
ArrayList listWithoutDuplicateElements = new ArrayList(set);
//Printing listWithoutDuplicateElements
System.out.print("ArrayList After Removing Duplicate Elements :");
System.out.println(listWithoutDuplicateElements);
}
}
输出:
ArrayList With Duplicate Elements :[JAVA, J2EE, JSP, SERVLETS, JAVA, STRUTS, JSP]
ArrayList After Removing Duplicate Elements :[JAVA, SERVLETS, JSP, J2EE, STRUTS]
注意输出结果。
你会发现,在删除反复元素之后,元素又一次洗牌。不再依照插入顺序排列。假设你想在删除反复的元素之后依旧保持元素的插入顺序,那么不 建议使用此方法。还有还有一种方法,能够保证在删除反复的元素之后也不改变元素的插入顺序。那就是使用LinkedHashSet。
方法2:使用LinkedHashSet删除ArrayList中反复的元素
在该方法中。我们使用LinkedHashSet删除ArrayList中反复的元素。正如你知道的,LinkedHashSet不同意反复元素, 同一时候保持元素的插入顺序。LinkedHashSet的这两个属性能够确保在删除ArrayList中的反复元素之后。依旧保持元素的插入顺序。
參见以下 的样例。
import java.util.ArrayList;
import java.util.LinkedHashSet;
public class MainClass
{
public static void main(String[] args)
{
//Constructing An ArrayList
ArrayList listWithDuplicateElements = new ArrayList();
listWithDuplicateElements.add("JAVA");
listWithDuplicateElements.add("J2EE");
listWithDuplicateElements.add("JSP");
listWithDuplicateElements.add("SERVLETS");
listWithDuplicateElements.add("JAVA");
listWithDuplicateElements.add("STRUTS");
listWithDuplicateElements.add("JSP");
//Printing listWithDuplicateElements
System.out.print("ArrayList With Duplicate Elements :");
System.out.println(listWithDuplicateElements);
//Constructing LinkedHashSet using listWithDuplicateElements
LinkedHashSet set = new LinkedHashSet(listWithDuplicateElements);
//Constructing listWithoutDuplicateElements using set
ArrayList listWithoutDuplicateElements = new ArrayList(set);
//Printing listWithoutDuplicateElements
System.out.print("ArrayList After Removing Duplicate Elements :");
System.out.println(listWithoutDuplicateElements);
}
}
输出:
ArrayList With Duplicate Elements :[JAVA, J2EE, JSP, SERVLETS, JAVA, STRUTS, JSP]
ArrayList After Removing Duplicate Elements :[JAVA, J2EE, JSP, SERVLETS, STRUTS]
注意输出。你能够发如今删除ArrayList中的反复元素后。依旧保持了元素的插入顺序。
java里arraylist删除节点方法_Java之——删除ArrayList中的反复元素的2种方法相关推荐
- java定时调度main方法_java相关:Spring中实现定时调度的几种方法
java相关:Spring中实现定时调度的几种方法 发布于 2020-11-28| 复制链接 本篇文章主要介绍了Spring中实现定时调度示例,可以在无人值守的时候系统可以在某一时刻执行某些特定的功能 ...
- 计算机启动应用程序的方法,excel的程序_Excel2010中启动应用程序的三种方法
使用Excel时,需要先启动应用程序,怎么去进行操作启动它?今天,学习啦小编就教大家在Excel2010中启动应用程序的三种方法. Excel2010中启动应用程序的三种步骤如下: 1.开始菜单 在桌 ...
- C语言中调用数组元素的三种方法:下标法、数组名法、指针法
/*调用数组元素的三种方法:下标法.数组名法.指针法*/ #include<stdio.h> int main() {int a[] = { 1,2,3,4,5 }, i, * p;pri ...
- Java删除ArrayList中的重复元素的2种方法
ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序.在编码时我们经常会遇到那种必须从已建成的ArrayList中删除重复元素的要求.这 ...
- python中修改列表元素的2种方法
一.在for循环中直接更改列表中元素的值不会起作用: 如: l = list(range(10)[::2]) print (l) for n in l: n = 0 print (l) 运行结果: [ ...
- jq追加元素的几种方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【javascript基础——系列10】js中隐藏元素的几种方法以及代码
系列文章 [javascript基础--系列1]前端页面ajax连接后台服务器传输数据 [javascript基础--系列2]前端页面axios连接后台服务器传输数据 [javascript基础--系 ...
- js追加元素的几种方法(append()、prepend()、after()、before()、insertAfter()、insertBefore())...
[html] view plain copy <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...
- python中字符串怎么引用_Python:字符串中引用外部变量的3种方法
方法一: username=input('username:') age=input('age:') job=input('job:') salary=input('salary') info1='' ...
最新文章
- 马云/牛根生经典语录
- python做exe开发教程_python做exe开发教程
- Mac zsh切换bash bash切换zsh
- android批量删除图片,Android RecyclerView单点、批量数据元素项目item的增加、删除和移动...
- 数据中心节能的13个有用小知识
- 主程序与子程序不在同一程序模块中_分享:宏程序和子程序的应用
- ORA-00980与PL/SQL程序编译出错
- 声明式编程与函数式编程_实用程序类与函数式编程无关
- JAXB和java.util.Map
- 服务器的可维护性,可靠性和可维护性
- pip命令提示unknow or unsupported command install解决方法
- Sun公司发布最新版本的JDK 6 update 11
- googel的扩展插件导出与导入
- 程序员薪资怎么论高级还是初级_Java程序员的薪水取决于年龄还是技术?
- Unity3d C#使用Highlighting System 5.0高光插件的详细使用教学和脚本动态操作
- tomcat自动重启
- UiPath调用超级鹰识别验证码
- UDS——ISO14229
- 在ubuntu20.04/18.04下安装无线网卡rtl8192fu驱动
- 【MySQL】--架构简介
热门文章
- VLAN端口类型(access、Trunk、Hybrid)
- 苏大计算机学院在哪,苏州大学计算机技术学院导师介绍:纪其进
- [UE5蓝图基础一]13.类似”人类一败涂地”掉落一定距离会回到空中 最终着落点还是设定地形上
- js写的中文数字转换成数字的一个小小的算法
- 利用Bootstrap制作一个流行的网页
- 华为推送 坑点 自定义intent
- 猎人X猎人手游如何在电脑上玩 猎人X猎人手游模拟器教程
- 【No JSON object could be decoded】问题解决
- 如何在iPhone或iPad上使用控制中心
- Python 编写函数实现交叉合并字符串,例如:ABCD与1234的合并结果是A1B2C3D4