ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-8-6 第八组 曹雨 集合知识补充

2022-08-12 11:31:20  阅读:42  来源: 互联网

标签:曹雨 Set Map 元素 List 第八 Collection 2022 null


Collection

  • Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。
  • Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。

List接口

  • List是有序的Collection,使用此接口能准确的锁定每个元素的位置,可以通过索引访问List中的元素,类似于java数组。
  • List中是允许存在相同的元素的。
  • 实现List接口的常用类有LinkedList,ArrayList,Vector和Stack

Set接口

  • Set就一种不包含重复元素的Collection,即任意的两个元素都不相等,Set最多有一个null元素。
  • Set没有顺序指的是,不按照用户输入的顺序,其实内部有算法对其进行排序
  • Set保证数据不重复的方法:保证数据类型的类要重写hashCode和equals方法。

Map

  • 存储对值K-V key-value
  • key不能重复,value是可以重复的,null可以作为键但是只能有一个,可以有多个key的值为null
  • 没有顺序(不按照添加的先后顺序)
  • 当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。
    因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。

HashMap

  • Map的实现类
  • 内部结构在JDK1.7之前是:链表 + 数组,在JDK1.7之后是:链表 + 数组 + 红黑树

Hashtable(于HashMap几乎一模一样)

区别:

  • HashMap是线程异步,线程不安全的,Hashtable是线程同步,线程安全
  • HashMap的key是可以为null的,Hashtable是不可以为null

List集合的遍历:

  • for循环

  • for each

  • 迭代器
    使用迭代器执行删除操作可以保证万无一失

     Iterator<String> iterator = list.iterator();
        //如果迭代器能找到下一个元素
        while(iterator.hasNext()) {
            String s = iterator.next();
            
                System.out.println(s);
        }
        System.out.println(list);
    
    
    }

标签:曹雨,Set,Map,元素,List,第八,Collection,2022,null
来源: https://www.cnblogs.com/figh466/p/16579217.html

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有