Collections方法

Collections方法

package Demo06;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

public class Demo01Collections {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        Collections.addAll(list,"a","b","c","d","e");
        System.out.println(list);
         Collections.shuffle(list);//元素弄乱
        System.out.println(list);//[c, a, e, d, b]
        

    }
}

排序规则

package Demo06;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
//Comparable接口的排序规则
//this-参数 升
//参数 -this 降
public class Demo02Sort {
    public static void main(String[] args) {
        ArrayList<Integer> list01=new ArrayList<>();
        list01.add(1);
        list01.add(3);
        list01.add(2);
        System.out.println(list01);//[1, 3, 2]
        Collections.sort(list01);
        System.out.println(list01);//[1, 2, 3]
        ArrayList<String> list02=new ArrayList<>();
        list02.add("a");
        list02.add("c");
        list02.add("b");
        System.out.println(list02);//[a, c, b]
        Collections.sort(list02);
        System.out.println(list02);//[a, b, c]

        ArrayList<Person> list03=new ArrayList<>();
        list03.add(new Person("老村长",20));
        list03.add(new Person("刘二狗",21));
        list03.add(new Person("廖二狗",18));
        System.out.println(list03);//[Person{name='老村长', age=20}, Person{name='刘二狗', age=21}, Person{name='廖二狗', age=18}]
        Collections.sort(list03);
        System.out.println(list03);

    }
}
package Demo06;

import java.util.Objects;

public class Person implements Comparable<Person> {
    private  String name;
    private  int age;

    public Person() {
    }

    public Person(String name,int age) {
        this.name=name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age && Objects.equals(name, person.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
//重写排序规则
    @Override
    public int compareTo(Person o) {
        //return 0;认为元素都行相同的
        //自定义参数比较两人的年龄
        //return this.getAge()-o.getAge();//升
        return  o.getAge()-this.getAge();
    }
}
package Demo06;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class DemoSort {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        list.add(1);
        list.add(3);
        list.add(2);
        System.out.println(list);
        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                //return o1-o2;//升
                return  o2-o1;//降

            }


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

可变参数

package Demo06;

public class Demo01VarArgs {
    public static void main(String[] args) {
       int i= add();
        System.out.println(i);//[I@1b6d3586 0 0
        int s=add(5,6,7,8);//26
        System.out.println(s);
        method("abc",5,60.0);

    }

    private static void method(Object...obj) {



    }

    private static int  add(int...arr) {
        //System.out.println(arr);
        //System.out.println(arr.length);
        //return  0;
        int sum= 0;
        for(int i:arr){
            sum+=i;
        }
        return  sum;
    }
}

Map中常用方法

package Demo06;

import java.util.HashMap;
import java.util.Map;

public class Demo01Map {
    public static void main(String[] args) {
        //demo01();
        //demo02();
        demo03();
    }

    private static void demo03() {
        //同理 有返回value值 否则返回null
        Map<String,Integer> map=new HashMap<>();
        map.put("老村长",160);
        map.put("刘二狗",175);
        map.put("廖二狗",185);
        Integer v1=map.get("老村长");
        System.out.println(v1);//160
        Integer v2=map.get("江俊龙");
        System.out.println(v2);//null
    }

    private static void demo02() {
        //remove key存在返回被删除的值,key不存在返回null
        Map<String,Integer> map=new HashMap<>();
        map.put("老村长",160);
        map.put("刘二狗",175);
        map.put("廖二狗",185);
        System.out.println(map);//{老村长=160, 廖二狗=185, 刘二狗=175}
        Integer v1=map.remove("老村长");
        System.out.println("v1 :"+v1);//v1 :160
        System.out.println(map);//{廖二狗=185, 刘二狗=175}
        Integer v2=map.remove("江俊龙");
        System.out.println(v2);//null
    }

    private static void demo01() {
        //创建map对象,多态
        //public V put(K key,V value)
        //返回值 v 存储值对的时候,key不重复,返回值v是null
        //存储值对的时候,key重复,会使用新的value代替value中重复的value,返回被替换的value值
        Map<String,String> map=new HashMap<>();
        String v1=map.put("老村长","李长洲1");
        System.out.println("v1 :"+v1);//v1 :null
        String v2=map.put("老村长","李长洲2");
        System.out.println("v2 :"+v2);//v2 :李长洲1
        System.out.println(map);//{老村长=李长洲2}

    }
}

Map集合遍历键值对方式

package Demo06;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Demo02Map {
    public static void main(String[] args) {
        Map<String,Integer> map=new HashMap<>();
        map.put("老村长",160);
        map.put("刘二狗",175);
        map.put("廖二狗",185);
        //1.使用Map集合中的方法keySet(),把map集合中的所有key取出来,存储到一个set集合中
        Set<String> set=map.keySet();
        // 2. 遍历set集合,获取map集合中的每一个key
        //使用迭代器遍历set集合
        Iterator<String> it=set.iterator();
        while(it.hasNext()){
            String key=it.next();
            Integer value=map.get(key);
            System.out.println(key + "="+value);
            /*老村长=160 廖二狗=185 刘二狗=175
刘二狗=175



             */
        }
        //3.使用增强for遍历set集合
        for(String key:set){

            Integer value=map.get(key);
            System.out.println(key + "="+value);
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值