Java学习5.10

api1.8中文下载链接,提取码:iosw

集合框架

List

常用的有子类:Arraylist和LinkedList

[构造方法,常用方法增(add)删(remove)查(get)改(set)等见api

  • ArrayList存放数据可以重复且有序

  • 遍历集合:

//        方式一:
        for (int i = 0; i < list.size(); i++) {
            System.out.println(alist.get(i));
        }
//        方式二
        for(Object temp : list){
            System.out.println("temp = " + temp);
        }
//        方式三
        list.forEach(temp-> System.out.println(temp));
    

Collections.sort的两种使用方式:

  1. Collections.sort(Collection c):正叙排列

  2. Collections.sort(Collection c,Comparator (){

    @override

    public E compare(E o1, E o2)

    //返回值为负则为倒序

    扫描二维码关注公众号,回复: 11267873 查看本文章

    return o2 - o1;

    })

Set

常用的子类:HashSet和TreeSet

  • HashSet底层是哈希码,没有下标,存放的数据无序且不可重复。

  • TreeSet底层是二叉树,有下标,存放的数据有序且不可重复。

Map(重点)

  • Map(key,value)是双列型存储,存放数据无序,key不能重复,value可以重复
  • 构造方法,增删改查,属性见api

例:

public class Demo07practice {
    public static void main(String[] args) {
        System.out.println("输入一行小写字母,可以看每个字母出现几次practice");
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        char[] chars = s.toCharArray();
        Map<Character, Integer> map = new HashMap<>();


        for (char c : chars) {
            boolean flag = map.containsKey(c);//如果此映射包含指定键的映射,则返回 true 

            if(flag){
                Integer value = map.get(c);//返回到指定键所映射的值,或 null如果此映射包含该键的映射。
                value++;
                map.put(c,value);
            }else{
                map.put(c,1);
            }
        }
        System.out.println(map);
    }
}

猜你喜欢

转载自www.cnblogs.com/panmao/p/12957137.html
今日推荐