美文网首页Java
Java 19-7 集合工具类

Java 19-7 集合工具类

作者: 第二套广播体操 | 来源:发表于2019-01-23 19:43 被阅读0次

Collections 为工具类 操作Collection的静态方法
对list排序 sort(list);

public class Collections_Test1 {
    public static void main(String[] args) {
        methodDemo_1();
    }

    private static void methodDemo_1() {
        List<String> list=new ArrayList<>();
        list.add("asdzx");
        list.add("zxcx");
        list.add("zaw");
        list.add("qwes");
//        Collections.sort(list);
//        Collections.sort(list,new ListLenthCom()); 调用自定义比较器
//        倒叙排 使用.reverseOrder();方法
        Collections.sort(list,Collections.reverseOrder(new ListLenthCom()));
        System.out.println(list);

    }
}
public class ListLenthCom implements Comparator<String> {
    @Override
    public int compare(String o1, String o2) {
        int temp=o1.length()-o2.length();
        return temp==0?o1.compareTo(o2):temp;
    }
}

模拟最大值方法

public class Collection_Test2 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("asdzx");
        list.add("zxcx");
        list.add("zaw");
        list.add("qwes");
        String s=getMax(list);
        System.out.println(s);
//        模拟获取集合最大值

    }
//    T不继承Comparable接口没有CompareTo方法
    public static <T extends Object&Comparable<? super T>> T getMax(Collection<? extends T> coll){
//取出容器中的一个元素定义为变量max Collection只能迭代
        Iterator<? extends T> it=coll.iterator();
        T max=it.next();
//        遍历所有元素
//        在遍历中比较,只要比变量中的值大。用变量记录下来
        while (it.hasNext()) {
            T next = it.next();
            if (max.compareTo(next)>0)
                max=next;
        }
        return max;
    }
    /* max方法源码
    public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) {
        Iterator<? extends T> i = coll.iterator();
        T candidate = i.next();

        while (i.hasNext()) {
            T next = i.next();
            if (next.compareTo() > 0)
                candidate = next;
        }
        return candidate;
    }*/
}

Arrays
从来操作数组 方法为静态

public class Arrays_Test1 {
    public static void main(String[] args) {
        int[] arr={12,32,51,32,32,15,51,};
        System.out.println(Arrays.toString(arr));
    }
}

//asList(); 将数组转化为固定长度的list集合
public class Arrays_Test2 {
    public static void main(String[] args) {
//查找数组中是否存在abc
        String arr[]={"asd","wes","zxc","abc"};
       /* Boolean b=myContains(arr);
        System.out.println(b);*/
//       发现数组本身可以将数组转化成集合 使用数组方法进行判断
        List<String> list= Arrays.asList(arr);
        list.set(3,"ass");//0开始
        Boolean b=list.contains("abc");
//        list.add("qq");//java.lang.UnsupportedOperationException
//        不能使用集合的增删方法  可以替换不能改变长度
        System.out.println(b);
    }

  /*  private static Boolean myContains(String[] arr) {
        for (int i = 0; i <arr.length; i++) {
            if (arr[i].equals("abc"))//内容相等
            return true;
        }
        return false;
    }*/
}

public class Arrays_Test4 {
    public static void main(String[] args) {
//传入的数组长度,如果小于集合长度,方法中会创建一个新的长度和集合长度一致的数组
//如果传入数组长度大于等于集合长度,会使用传入的数组,所以建议长度定义为集合的size();
//限定对元素的操作,比如增删

        List<String> list=new ArrayList<>();
        list.add("asd");
         list.add("zcq");
//        String[] s= list.toArray(new String[0]);
        String[] s=list.toArray(new String[list.size()]);
        System.out.println(Arrays.toString(s));
    }
}

public class Arrays_Test5 {
    public static void main(String[] args) {
        int sum=add(2,4,5,6);
        System.out.println(sum);
//        可变参数需要注意,自能定义在参数列表最后
    }
    public static int add(int x,int...arr){
        int sum1=0;
        for (int i = 0; i <arr.length; i++) {
            sum1+=arr[i];
        }
        return sum1;
    }

}

相关文章

  • Java 19-7 集合工具类

    Collections 为工具类 操作Collection的静态方法对list排序 sort(list); 模拟最...

  • Java基础之集合类

    Java基础之集合类 集合类简单介绍 Java集合是Java提供的工具包,包含了常用的数据结构:集合、链表、队列、...

  • 13 Java集合 - Collections工具类

    13.1 Collections工具类 Collections是Java提供的操作集合的工具类,可以对集合进行排序...

  • 集合概述

    一:集合的UML类图 二:集合工具的分析 (Java集合是java提供的工具) 常用的数据结构: 集合、链表、队列...

  • Java集合框架01-框架总览

    本节摘要:从整体概述Java集合框架 一、Java集合框架架构图 Java集合框架是Java为开发者提供的工具类,...

  • java集合分类

    java的集合主要分为List列表、Set集合、工具类(Iterator迭代器、Enumeration枚举类、Ar...

  • java集合类(Set、List、Map)的一些事

    一、java集合类的整体继承关系 可以看出java集合的顶层接口分两类:Collection,Map两个工具类:C...

  • Java自学-集合框架 Collections

    Java集合框架 工具类Collections Collections是一个类,容器的工具类,就如同Arrays是...

  • Java工具类集合

    有一段话说的很好,关于对工具类的看法 作为一种解决某一问题领域的工具库,我认为有以下几个方面值得关注: 1:功能是...

  • 3.4 Java 中的集合框架(上)(常用工具类)

    1、Java中的集合框架概述 集合框架、 概念与作用Java中的集合类:是一种工具类,就像是容器,存储任意数量的具...

网友评论

    本文标题:Java 19-7 集合工具类

    本文链接:https://www.haomeiwen.com/subject/axpsjqtx.html