package test; import java.util.*; import java.util.concurrent.SynchronousQueue; import java.util.concurrent.locks.Lock; import privateclass.*; import java.io.*; public class Main { private static final String space_operator = " "; public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(new BufferedInputStream(System.in)); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); List<String> list = new ArrayList<String>(); list.add("shanghai"); list.add("zhuzhu"); list.add("tiasnxia"); list.add("ab"); //工具类里面的sort方法 System.out.println(list); Collections.sort(list); System.out.println(list); sortlist(list); System.out.println(list); Collections.sort(list, new Comparelength()); System.out.println(list); sortlist1(list, new Comparelength()); System.out.println(list); //二分查找 //找到位置返回正数,找不到就返回负数-1 int index = Collections.binarySearch(list, "xiaoxiao"); System.out.println(index); //查找最大值 String max = Collections.max(list); System.out.println(max); //查找自己想要的最大值 String max2 = Collections.max(list,new Comparelength()); System.out.println(max2); //将list直接反转 Collections.reverse(list); System.out.println(list); //将原来的一些元素直接替换成自己想要的元素 Collections.replaceAll(list, "shanghai", "不离不弃"); System.out.println(list); //我们可以自己定义Comparator比较器进行比较实现一个匿名内部类 /*TreeSet<String> set = new TreeSet<String>(new Comparator<String>() { @Override public int compare(String o1, String o2) { int temp = o2.length() - o1.length(); return temp == 0 ? o2.compareTo(o1) : temp; } }); set.add("aa"); set.add("bb"); set.add("aabbcc"); set.add("zhis"); System.out.println(set); */ //我们可以直接用到Collections中的方法reverseOrder /* TreeSet<String> set = new TreeSet<String>(Collections.reverseOrder()); set.add("aa"); set.add("bb"); set.add("aabbcc"); set.add("zhis"); System.out.println(set); */ //我们还以对自己实现的比较器进行反转 /* TreeSet<String> set = new TreeSet<String>(Collections.reverseOrder(new Comparelength())); set.add("aa"); set.add("bb"); set.add("aabbcc"); set.add("zhis"); System.out.println(set); */ //我们可以用Collections里面的synchronized方法将这个线程变成安全的 list = Collections.synchronizedList(list); //将集合里面的东西全部填充成为傻吊 //Collections.fill(list, "傻吊"); Collections.shuffle(list); System.out.println(list); } private static <T extends Comparable<? super T>>void sortlist(List<T> list) { // TODO Auto-generated method stub for (int i = 0; i < list.size() - 1; i ++) { for(int j = i + 1; j < list.size(); j ++) { if(list.get(i).compareTo(list.get(j)) > 0) { Collections.swap(list, i, j); } } } } private static <T extends Comparable<? super T>>void sortlist1(List<T> list,Comparator<? super T> comp) { // TODO Auto-generated method stub for (int i = 0; i < list.size() - 1; i ++) { for(int j = i + 1; j < list.size(); j ++) { if(comp.compare(list.get(i), list.get(j)) > 0) { Collections.swap(list, i, j); } } } } }