Java集合进阶

集合进阶

1. Collection

  1. 常用方法

    1. add()
    2. remove()
    3. clear()
    4. contains()
    5. isEmpty()
    6. size()
  2. 迭代器 iterator

    • 常用方法

      • hasNext()
      • next()

      while(it.hasNext()){

      System.out.println(it.next());

      }

2. List

  1. 常用方法

    1. add(int index, E element)
    2. remove(int index)
    3. set(int index, E element)
    4. get(int index)
  2. 并发修改异常 ConcurrentModificationException

    产生原因:迭代器遍历的过程,通过集合对象修改了集合中元素的长度,造成了迭代器获取元素中判断预期修改值和实际修改值不一致。

    复制代码
    while(it.hasNext()){
        String s = it.next();
        if(s.equals("world")){
            list.add("java");
        }
    }

    解决方案:用for循环遍历,然后用集合对象做对应的操作即可。

    复制代码
    for(int i = 0;i < list.size(); i++){
    	String s = list.get(i);
    	if(s.equals("world")){
            list.add("java");
        }
    }
  3. ArrayList(数组),LinkedList(链表)

3. Set

HashSet

底层数据结构是哈希表,不包含重复元素。

LinkedHashSet

哈希表和链表实现set接口

元素有序

元素唯一

###TreeSet

元素有序,具体排序方法取决于构造方法(重写CompareTo接口/参数内重写Compare方法)

元素唯一

4. 泛型

  1. 类型通配符

  2. 可变参数:int...a

Map

Interface Map<K, V>

复制代码
Map<String, String> map = new HashMap<String, String>();
map.put("","");
相关推荐
云泽野16 小时前
SpringBoot整合QQ邮箱发送邮件及微服务公共模块封装实战
java·spring boot·微服务
Ssan PRIN16 小时前
Modbus报文详解
服务器·开发语言·php
枫叶丹416 小时前
【HarmonyOS 6.0】ArkUI Swiper 组件:深入掌握滑动状态变化事件回调
开发语言·华为·harmonyos
小陈工16 小时前
2026年4月4日技术资讯洞察:异步编程范式重塑、架构理性回归与开发者体验革命
开发语言·人工智能·python·机器学习·架构·数据挖掘·回归
eSsO KERF16 小时前
MS SQL Server partition by 函数实战三 成绩排名
java
CAE虚拟与现实16 小时前
Python在Windows 平台上引入了一种新的安装与运行时管理机制
开发语言·python
Hello eveybody16 小时前
图论简述+图论考试要点(Python)
开发语言·python·图论
姗姗的鱼尾喵16 小时前
Java 并发编程高频面试题(含AQS/线程池/锁)
java·经验分享·面试
Hello eveybody16 小时前
二叉树简述+考试要点(Python)
开发语言·python
第二只羽毛17 小时前
C++高性能内存池6(面试题)
大数据·开发语言·c++