java集合去重代码 字符串去重 java

使用java集合去掉数组中重复的值并打印出来,数组:{2,5,4,7,8,9,6,4}

JAVA里面可以利用Set Map的唯一性来排除重复数值,具体代码如下:

成都创新互联公司是一家专业提供龙口企业网站建设,专注与成都网站设计、网站制作、HTML5建站、小程序制作等业务。10年已为龙口众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.TreeSet;

public class Test {

public static void main(String[] args) {

int[] ary = {2,5,4,7,8,9,6,4};

//通过Set集合的唯一性来做到去除重复

SetInteger set = new TreeSetInteger();

//利用map的KEY的唯一性来去除重复

MapInteger, Object map = new HashMapInteger, Object();

//利用集合特性去除重复值

for(int i = 0; i ary.length; i++){

set.add(new Integer(i));

map.put(new Integer(i), null);

}

System.out.println("利用Set去除结果:");

for (Iterator iterator = set.iterator(); iterator.hasNext();) {

Integer integer = (Integer) iterator.next();

System.out.print(integer + " ");

}

System.out.println("\n利用Map去除结果:");

for(Iterator ite = map.keySet().iterator(); ite.hasNext();){

System.out.print(ite.next() + " ");

}

}

}

---------------程序结果

利用Set去除结果:

0 1 2 3 4 5 6 7

利用Map去除结果:

0 1 2 3 4 5 6 7

java对List去重并排序,如何快速地去掉两个

Java8开始,对数值,集合等提供了Stream流操作,可以方便的对集合进行操作.

比如 筛选,过滤,去重, 映射, 排序,规约,收集 等操作

简单的参考代码如下

import java.util.Arrays;

import java.util.List;

import java.util.stream.Collectors;

// 使用Java8 的Stream特性 和 Java8的Lambda 语句

public class Demo {

public static void main(String[] args) {

// 需求: 集合去重,排序,得到一个新集合里面的元素是之前元素的平方

ListInteger list=Arrays.asList(5,2,2,1,3,4);

ListInteger listResult = list

.stream() // 得到流

.distinct() // 去重 5,2,1,3,4

.sorted() // 自然排序 , 也可以自定义排序规则1,2,3,4,5

.map(x-x*x) // 每个元素求平方1,4,9,16,25

.collect(Collectors.toList()); //收集并返回

System.out.println(listResult);//1,4,9,16,25

}

}

用Java中的ArrayList实现:去除集合中字符串的重复值(字符串的内容相同)

public class Test {

public static void main(String[] args) {

ListString list = new ArrayListString();

list.add("测试1");

list.add("测试2");

list.add("测试3");

list.add("测试4");

list.add("测试4");

list.add("测试2");

list.add("测试5");

System.out.println("没有去重前的数据为"+list.toString());

for(int i = 0;ilist.size()-1;i++){

for(int j = list.size()-1;ji;j--) {

if(list.get(j).equals(list.get(i))){

list.remove(j);

}

}

}

System.out.println("去重后的数据为"+list.toString());

}

}

希望能帮到你!

Java中如何去除List中的重复的值

你要去除的值是基本数据类型还是对象呢?

如果不想存重复数据何不用Set呢。。。

其实吧。。在知道上提问不如在网页上查。。这个是我查到的第一个。。网页里的内容,他一共使用了3种方式

最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。

但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用set的特性进行去重又不打乱顺序呢?

试了一下,也是可以的,几种方法在不同情况下都有各自的优势。现在将代码写出来,比较一下。

//set集合去重,不打乱顺序

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

Set set = new HashSet();

List newList = new ArrayList();

for (String cd:list) {

if(set.add(cd)){

newList.add(cd);

}

}

System.out.println( "去重后的集合: " + newList);

}123456789101112131415161718

//遍历后判断赋给另一个list集合

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

ListString newList = new ArrayListString();

for (String cd:list) {

if(!newList.contains(cd)){

newList.add(cd);

}

}

System.out.println( "去重后的集合: " + newList);

}1234567891011121314151617

//set去重

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

Set set = new HashSet();

List newList = new ArrayList();

set.addAll(list);

newList.addAll(set);

System.out.println( "去重后的集合: " + newList);

}12345678910111213141516

//set去重(缩减为一行)

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

List newList = new ArrayList(new HashSet(list));

System.out.println( "去重后的集合: " + newList);

}12345678910111213

hashset不进行排序,还有一种方法是用treeset,去重并且按照自然顺序排列,将hashset改为treeset就可以了。(原本的顺序是改变的,只是按照字母表顺序排列而已)

//去重并且按照自然顺序排列

List newList = new ArrayList(new TreeSet(list));

JAVA如何去除数组中每个元素中重复的内容

java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:

import java.util.Arrays;import java.util.Set;import java.util.TreeSet; public class ceshi {    public static void main(String[] args) {         int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 };//新建一个int类型数组        System.out.println(Arrays.toString(testArr));        SetInteger set = new TreeSetInteger();//新建一个set集合        for (int i : testArr) {            set.add(i);        }        Integer[] arr2 = set.toArray(new Integer[0]);        // 数组的包装类型不能转 只能自己转;吧Integer转为为int数组;        int[] result = new int[arr2.length];        for (int i = 0; i  result.length; i++) {            result[i] = arr2[i];        }        System.out.println(Arrays.toString(arr2));    }}

运行结果如下:

使用java集合去除一组数字中的重复项,并打印输出

public class RemoveDuplicate {

private static int[] array = {1,2,3,3,3,4,5,6,6,7};

public static void remove(){

SetInteger set = new HashSet();

for (int i : array) {

if(!set.add(i)){

System.out.println(i);

}

}

System.out.println(set.toString());

}

public static void main(String[] args) {

RemoveDuplicate.remove();

}

}

以上是java代码。可以利用set 的元素的唯一性来完成你的要求。

set.add() 方法 如果添加失败那么会返回false,也就意味着里面已经有了一个同样的元素。

当然这个方法未必是最好的。可以利用一些更巧妙的方法达成。那样速度和效率都会更高。

(有部分人不知道为什么我的代码new HashSet里面没有指定类型。那么请参考java1.7新特性)


网页名称:java集合去重代码 字符串去重 java
当前URL:http://cdiso.cn/article/doopejp.html

其他资讯