找出现有Vector或ArrayList或数组中重复的元素&给现有Vector或ArrayList或数组去重
//直接上代码:
public static void main(String[] args) { List<Integer> list = new Vector<Integer>(20);
for (int i = 0; i < 10; i++) {
list.add(i % 3);
list.add(i % 6);
list.add(i % 2);
list.add(i % 4);
} System.out.println("原始元素:" + list);
List<Integer> reList = new Vector<Integer>(20);
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i) == list.get(j)) {
reList.add(list.remove(i));
i--;
break;
}
}
} // System.out.println("去重后:" + list);
// System.out.println("重复元素:" + reList);
// 输出:
// 原始元素:原始元素:[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0, 2, 0, 3, 1, 3, 1, 4, 0, 0, 2, 5, 1, 1, 0, 0, 0, 2, 1, 1, 1, 3, 2, 2, 0, 0, 0, 3, 1, 1]
// 去重后:[4, 5, 2, 0, 3, 1]
// 重复元素:[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0, 2, 0, 3, 1, 3, 1, 0, 0, 2, 1, 1, 0, 0, 0, 2, 1, 1, 1, 3, 2, 0, 0, 1] //去重方法2
Set<Integer> intset = new HashSet<Integer>(list);
System.out.println("set去重后" + intset);
// 输出:
// 原始元素:[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0, 2, 0, 3, 1, 3, 1, 4, 0, 0, 2, 5, 1, 1, 0, 0, 0, 2, 1, 1, 1, 3, 2, 2, 0, 0, 0, 3, 1, 1]
// set去重后[0, 1, 2, 3, 4, 5] //数组
List<Integer> notReList = new Vector<Integer>(20);
int[] intarr = new int[]{1, 2, 4, 5, 6, 3, 4, 2, 3, 4, 34, 5, 23, 5, 2, 3, 4, 3, 3,99};
for (int i = 0; i < intarr.length ; i++) {//如果不计算notReList用i < intarr.length改成i < intarr.length-1
if (!notReList.contains(intarr[i])) {
notReList.add(intarr[i]);
}
for (int j = i + 1; j < intarr.length; j++) {
if (intarr[i] == intarr[j]) {
reList.add(intarr[i]);
break;
}
}
}
System.out.println("去重后:" + notReList);
System.out.println("重复元素:" + reList);
// 输出:
// 去重后:[1, 2, 4, 5, 6, 3, 34, 23, 99]
// 重复元素:[2, 4, 5, 3, 4, 2, 3, 4, 5, 3, 3]
// list和数组也可以互转:
// List intList=Arrays.asList(intarr);或
// Integer[] intarr2=new Integer[list.size()];
// list.toArray(intarr2);
}
版权所有,转载请注明出处:http://www.cnblogs.com/langtianya/p/4676816.html
找出现有Vector或ArrayList或数组中重复的元素&给现有Vector或ArrayList或数组去重的更多相关文章
- php如何去掉二维数组中重复的元素?
$arr=array("=>array("a","b")); 我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决 ...
- java去除数组中重复的元素方法总结
/* * ArrayUnique.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.s ...
- js删除数组中重复的元素
1.方法一 将数组逐个搬到另一个数组中,当遇到重复元素时,不移动,若元素不重复则移动到新数组中 function unique(arr){ var len = arr.length; var resu ...
- array_unique() - 去除数组中重复的元素值
array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名 ...
- JavaScript 找出数组中重复的元素
实现检测数组重复元素的功能,需要注意一点的是,多个(2个或2个以上)重复元素,我们只需要挑出一个来就可以了. <!DOCTYPE html> <html> <head&g ...
- 删除数组中重复的元素(JSON)
先上一个基础的: var a = [1,2,3,3,4]; var b = []; for (var i = 0; i < a.length; ++i) { if (b.indexOf(a[i] ...
- php 统计一维数组中重复的元素个数
<?php echo "<pre>"; $array = array(1, 1, 1, 54, 3,4, 3,4, 3, 14, 3,4, 3,7,8,9,12, ...
- php如何去掉二维数组中重复的元素
$arr=array( "1"=>array("a","b "), "2"=>array("a&q ...
- PHP删除数组中重复的元素
array_unique($arr): //删除重复元素 $arr = [1,2,3,0,1]; echo '<pre>'; var_dump($arr); $arr = array_un ...
随机推荐
- chrome扩展
chrome拓展开发实战:页面脚本的拦截注入 时间 2015-07-24 11:15:00 博客园精华区 原文 http://www.cnblogs.com/horve/p/4672890.htm ...
- TCP建立连接、断开连接以及正常报文的报头和报位的大小
正常通信报文大小: 以太网的头尾:14字节 IP首部:20字节 TCP首部:20字节 尾部4字节校验 合计:58 三次握手的报文大小: SYN: 70 AYN,ACK:72 ACK: 64 合计:20 ...
- [CareerCup] 8.1 Implement Blackjack 实现21点纸牌
8.1 Design the data structures for a generic deck of cards. Explain how you would subclass the data ...
- Linux 读书笔记 一
一.Linux 简介 实验介绍 本节主要介绍 Linux 的历史,Linux 与 Windows 的区别等入门知识.如果你已经有过充分的了解,可以跳过本节,直接进入下一个实验. 一.Linux 为何物 ...
- IOS开发之—— ShareSDK的使用
官方下载ShareSDK iOS:http://sharesdk.cn/ ShareSDK社会化分享 包含“社会化分享组件”“社会化登录组件”“第三方评论和赞”三大模块,并有详尽的数据统计后台,助力移 ...
- 学习笔记——Maven 内置变量
Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...
- Javascript设计模式之我见:迭代器模式
大家好!本文介绍迭代器模式及其在Javascript中的应用. 模式介绍 定义 提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示. 类图及说明 Iterator抽象迭代器 抽象迭代器负 ...
- 7天学会spring cloud教程
按照官方的话说:Spring Cloud 为开发者提供了在分布式系统(如配置管理.服务发现.断路器.智能路由.微代理.控制总线.一次性 Token.全局锁.决策竞选.分布式会话和集群状态)操作的开发工 ...
- Bootstrap系列 -- 20. 禁用状态
Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled” 在使用了“form-control”的表单控件中,样式设置了禁用表单背景 ...
- [USACO 1.5.4]checker(水题重做——位运算(lowbit的应用))
描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 0 1 2 3 4 5 6 ------- ...