• Collections里面的一些方法


    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);
    				}
    			}
    		}
    	}
    }
    

      

  • 相关阅读:
    spring整合mybatis的事物管理配置
    平庸久了,是会上瘾的
    kafka基本概念
    JMS编程模型
    aop的基本概念
    事务的隔离级别和传播行为
    IntelliJ IDEA 导入Project
    [PowerShell]列出檔案與資料夾的資訊
    [powershell]统计目录大小
    [powershell]有关IP的设置
  • 原文地址:https://www.cnblogs.com/WINDZLY/p/11788676.html
Copyright © 2020-2023  润新知