zoukankan      html  css  js  c++  java
  • 集合框架(05)Collections

    1.Collections.sort方法(以及自定义的比较字符串长度排序)

    package Collections;
    
    import java.util.*;
    class StrLenComparator implements Comparator<String>{
    
        public int compare(String s1, String s2) {
            if(s1.length()>s2.length()){
                return 1;
            }
            if(s1.length()<s2.length()){
                return -1;
            }
            return s1.compareTo(s2);
        }
    
    }
    
    
    public class CollectionsDemo1 {
        
    
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            sop(list);
            //Collections的sort提供了排序的方法
            //Collections.sort(list);
            //自定义的排序方式:按照字符串的长度
            Collections.sort(list,new StrLenComparator());
            sop(list);
    
        }
        public static void sop(Object obj){
            System.out.println(obj+",");
        }
    
    }

     Coolections中的方法:

    • sort()排序
    • reverse()反转
    • replace()替换指定元素
    • fill()替换全部元素
    • binaeySearch()查找角标
    • max()查找最大值
    • shuffle()随机排列
    • swap()固定位置交换元素顺序

    方法代码示例:

    package Collections;
    
    import java.util.*;
    class StrLenComparator implements Comparator<String>{
    
        public int compare(String s1, String s2) {
            if(s1.length()>s2.length()){
                return 1;
            }
            if(s1.length()<s2.length()){
                return -1;
            }
            return s1.compareTo(s2);
        }
    
    }
    
    
    public class CollectionsDemo1 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            reverseDemo();
    
        }
        public static void reverseDemo(){
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            sop(list);
            //将list的顺序反转
            Collections.reverse(list);
            sop(list);
        }
        public static void replaceDemo(){
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            sop(list);
            //将list的指定元素替换成指定的元素
            Collections.replaceAll(list, "as", "qq");
            sop(list);
        }
        public static void fillDemo(){
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            sop(list);
            //将list的中的元素全部替换为pp
            Collections.fill(list, "pp");
            sop(list);
        }
        public static void binaeySearchDemo(){
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            Collections.sort(list);
            sop(list);
            //查找角标
            int index = Collections.binarySearch(list, "ao");
            sop("index="+index);
        }
        
        public static void maxDemo(){
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            Collections.sort(list);
            sop(list);
            //查找编码最大的值
            String max = Collections.max(list);
            sop("max="+max);
        }
        
        public static void sortDemo(){
            List<String> list = new ArrayList();
            list.add("wsqdef");
            list.add("hue");
            list.add("as");
            list.add("ao");
            list.add("aaaii");
            sop(list);
            //Collections的sort提供了排序的方法
            //Collections.sort(list);
            //自定义的排序方式:按照字符串的长度
            Collections.sort(list,new StrLenComparator());
            sop(list);
        }
    
        public static void sop(Object obj){
            System.out.println(obj+",");
        }
    
    }
  • 相关阅读:
    关于第一次作业表达式求导总结
    北航OO第一单元总结
    OO课程总结
    OO第三次博客
    OO第二次博客
    OO第一次博客
    OO第一单元总结——多项式求导
    [面向对象]电梯作业优化相关
    面向对象的程序设计-模块一课程总结
    OO第二单元总结——电梯
  • 原文地址:https://www.cnblogs.com/sunxiaoyan/p/8686901.html
Copyright © 2011-2022 走看看