我是靠谱客的博主 笑点低星星,最近开发中收集的这篇文章主要介绍集合Collection体系,Map体系,set体系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

集合:

集合是存储对象数据的容器;

特点:集合大小不固定,启动后动态变化;

注意:数组可存储基本类型和引用类型,集合只能存储引用类型,如果要存储基本数据类型要用包装类

Collection每个元素只含一个值;Map每个元素包含两个值(键值对)

  1. Collection

List系列添加元素有序,可重复,有索引;

Set系列添加元素无序,不重复,无索引(LinkedHashSet:无序,不重复,无索引)(TreeSet按照大小默认升序)

Collection list=new ArrayList<>();
        list.add(1);
        list.add(99);
        System.out.println(list);
        list.clear();//清除元素
        System.out.println(list);
//list.contains判断数据是否存在
  Object[] c=list.toArray();
        System.out.println(Arrays.toString(c));//转换为数组
//把集合1添加到集合2用addAll

三种遍历方式:迭代器,增强for循环,Lambda方式遍历

Iterator<Integer> c=list.iterator();
        int  d=c.next();
        System.out.println(d);//遍历一个迭代器
 // while(c.hasNext()){
      //      int  d=c.next();
    //        System.out.println(d);
   //     }循环遍历
 Collection<String> list=new ArrayList();
        list.add("1");
        list.add("99");
        for(String d:list){
            System.out.println(d);
 list.forEach(new Consumer<String>() {
                         @Override
                         public void accept(String s) {
                             System.out.println(s);
                         }
                     });
  1. List体系

ArrayListApi:

   List lists=new ArrayList<>();
        lists.add(1);
        lists.add(99);
        lists.add("xiao");
        lists.add(1,"sc");//在某个位置添加
        System.out.println(lists);
lists.remove(2);//在某个位置去除
        System.out.println(lists);
System.out.println(lists.get(2));//得到某位置数据
 lists.set(1,"gao");//取代
        System.out.println(lists);
   LinkedList<String> list=new LinkedList<>();
      //压栈入栈
        list.addFirst("1");
        list.addFirst("2");
        list.addFirst("3");
        System.out.println(list);
        System.out.println(list.removeFirst());

 LinkedList<String> list=new LinkedList<>();
     //队列
        list.addLast("1");
        list.addLast("2");
        System.out.println(list);
        System.out.println(list.removeFirst());
  1. Set体系

public int hashCode():返回对象哈希值

HashSet:无序,不重复,无索引

TreeSet有两种方式设置自定义比较规则:

第一种:

自定义类实现Comparable接口重写里面的compareTo方法来制定比较规则

第二种:

TreeSet集合有参构造器,可以设置Comparable接口比较对应的比较器对象,来定制比较规则

Set<test> app=new TreeSet<>(new Comparator<test>() {
    @Override
    public int compare(test o1, test o2) {
        return 0;
    }
});
  1. Collections:

集合工具类,用来操作集合的工具类

API:

Collections.addAll给集合添加一些数据

Collections.shuffle打乱集合顺序

针对List集合的排序

Collections.sort():本方式不可以直接对自定义LIst集合排序除非自定义类型实现了比较规则Comparable接口

Collection.sort():sort方法自带比较器

List<test> a=new ArrayList<>();
Collections.sort(a, new Comparator<test>() {
    @Override
    public int compare(test o1, test o2) {
        return 0;
    }

});
  1. Map:

Map集合特点由键决定

Map集合的键无序,不重复的(后面重复的键会覆盖前面重复的键);Map集合的值可以重复

Map集合键值对都可以是null

 Map<String, Integer> map = new HashMap<>();
        map.put("xiao", 23);
        map.put("x", 2);
        System.out.println(map);
        Set<String> keys=map.keySet();//找键
        for(String key:keys){
            int value=map.get(key);//找值
            System.out.println(key+"  ->"+value);
        }
        System.out.println(map.containsValue(23));//找值判断true,flase
        Collection<Integer> d=map.values();
        System.out.println(d);//获取全部值
        System.out.println(map.size());

最后

以上就是笑点低星星为你收集整理的集合Collection体系,Map体系,set体系的全部内容,希望文章能够帮你解决集合Collection体系,Map体系,set体系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部