您现在的位置是:网站首页 > 代码编程 > JAVA开发JAVA开发
【原】Java如何简单快速的实现数组元素去重
不忘初心 2019-07-28 围观() 评论() 点赞() 【JAVA开发】
简介:在编码的时候,经常会遇到一些看似很简单比如排序啊,找重复值啊等等这种,但是一时头脑闪现到的结果都是for循环,但是这样效率是很低的,我们要如何简单快速的实现Java数组元素的去重呢?
在编码的时候,经常会遇到一些看似很简单比如排序啊,找重复值啊等等这种,但是一时头脑闪现到的结果都是,循环啊,循环啊。。。。。
其实这都是我们本身对集合的一些应用太过于表面,或者说提起来说的头头是道,但是应用起来都没有想到。
最近我就遇到一个这样问题,因为一些计算需要对一个String集合做去重处理:
List<String> list = new Arraylist();
list.add("aaa");
list.add("111");
list.add("aaa");
list.add("222");
首先想到的方法是,做循环,类似以下两种方式:
// 方法一:嵌套for循环
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);
}
}
}
// 方法二:利用contains方法
List newList = new ArrayList();
for(int i=0;i<newList.size();i++){
if(!newList.contains(newList.get(i))){
newList.add(newList.get(i));
}
}
但其实,我们不要忘了,集合三大类,List 、Set 、 Map的属性,因为Set存值是无序、不能重复的,这样我们就可以利用Set做去重:
Set set = new HashSet(list);
String[] str= (String[]) set.toArray(new String[0]);
Arrays.sort(str);//如果需要有序,可以直接排个序
方法简单实用,如果在面试中遇到面试官提到类似集合的问题,不要再一直说循环循环,这样才显得自己基础比较扎实!
看完文章,有任何疑问,请加入群聊一起交流!!!
很赞哦! ()
相关文章
标签云
猜你喜欢
- IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了
- IntelliJ IDEA 2019.3利用补丁永久破解激活教程
- IntelliJ IDEA高版本最灵活的永久破解激活方法(含插件激活,时长你说了算)
- Jetbrains全家桶基于ja-netfilter的最新破解激活详细图文教程
- IntelliJ IDEA 2022.1永久破解激活教程(亲测可用,持续更新)
- 分享几个正版 IntelliJ IDEA 激活码(破解码、注册码),亲测可用,持续更新
- ja-netfilter到底需不需要mymap,2021.3.2版本激活失效?
- 如何激活idea2022.1及以上版本中的插件(亲测可用)
- 【史上最全】IntelliJ IDEA最新2022.1版本安装和激活视频教学(含插件)
- IntelliJ IDEA 2022.2 版本最新2099年永久激活方法,亲测可用,也可以开启新UI了。
站点信息
- 网站程序:spring + freemarker
- 主题模板:《今夕何夕》
- 文章统计:篇文章
- 标签管理:标签云
- 微信公众号:扫描二维码,关注我们