将数据去重后在进行排序多种方式

 方法一:直接用set去重,这里set有三种:

                ①TreeSet会对插入内容自然排序;

//TreeSet会对插入内容排序
		TreeSet data1 = new TreeSet();
		for(String s : str){
			data1.add(s);
		}
		System.out.println();
		System.out.print("TreeSet对字符串数组去重结果(会排序):");
		for(String s : data1){
			System.out.print(" " + s);
		}

                 ②HashSet输出顺序不能保证;

	//HashSet根据元素的hashCode值来决定元素的存储位置,当遍历该集合时候,顺序不能保证
		HashSet data2 = new HashSet();
		for(String s : str){
			data2.add(s);
		}
		System.out.println();
		System.out.print("HashSet对字符串数组去重结果(顺序不可保证):");
		for(String s : data2){
			System.out.print(" " + s);
		}

            ③LinkedHashSet以元素的添加顺序输出。

//LinkedHashSet根据元素的hashCode值来决定元素的存储位置,当遍历该集合时候,LinkedHashSet将会以元素的添加顺序访问集合的元素
		LinkedHashSet data3 = new LinkedHashSet();
		for(String s : str){
			data3.add(s);
		}
		System.out.println();
		System.out.print("LinkedHashSet对字符串数组去重结果(按输入顺序):");
		for(String s : data3){
			System.out.print(" " + s);
		}

 方法二:用arraylist去重,比较元素在list中是否已存在,不存在则加入list

        //ArrayList去重
		ArrayList data4 = new ArrayList();
		for(String s : str){
			if(!data4.contains(s))
				data4.add(s);
		}
		System.out.print("ArrayList去重结果:");
		for(String s : data4){
			System.out.print(" " + s);
		}
		System.out.println();

 

你可能感兴趣的:(集合)