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

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);
    
    
    }
    

posted on   figh466  阅读(19)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示