集合的排序 一个集合中存储无序元素 使其有序化(字典顺序) 不去重

package comheima.test;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;

/**
 * 一个集合中存储无序元素 使其有序化(字典顺序) 不去重 并打印
 * 
 * @author fenuang
 *
 * 分析:无序--->list集合
 */
public class demo {
	public static void main(String[] args) {
		ArrayList list = new ArrayList<>();

		list.add("aaaa");
		list.add("aaaa");
		list.add("abbb");
		list.add("aaaa");
		list.add("aaaa");
		list.add("accc");
		list.add("bbbb");
		sort(list);
	}

	// 定义方法排序并保留重复
	// 使用比较器
	// 把list集合的数据添加到treeSet
	// 清空list
	// 吧新数据导入list
	// 遍历打印
	public static void sort(List list) {
		// 传入list的好处是可以传子类arraylist和linkedlist
		// TODO Auto-generated method stub

		// 匿名内部类
		TreeSet ts = new TreeSet<>(new Comparator() {

			@Override
			public int compare(String o1, String o2) {
				// TODO Auto-generated method stub
				int num = o1.compareTo(o2);
				return num == 0 ? 1 : num;
			}
		});

		// 把数据加入比较器
		ts.addAll(list);

		// 清空原集合
		list.clear();

		list.addAll(ts);
		System.out.println(list);
	}

	// 吧list中的数据加到比较器中

}

你可能感兴趣的:(java)