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("","");
相关推荐
无限的鲜花2 小时前
反射(原创推荐)
java·开发语言
IT二叔2 小时前
Java项目部署-03-teamcity-cicd-docker镜像流水线方式部署
java·ci/cd·持续部署
yongche_shi2 小时前
ragas官方文档中文版(五十)
开发语言·python·ai·ragas·如何评估和改进 rag 应用
一路向北he3 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
超级数据查看器3 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
AI行业学习4 小时前
Notepad++ 官方下载 + 完整安装 + 全套优化配置(2026最新)
开发语言·人工智能·python·前端框架·html·notepad++
折哥的程序人生 · 物流技术专研4 小时前
《Java 100 天进阶之路》第50篇:阻塞队列与并发容器(2026版)
java·面试题·java进阶·blockingqueue·并发容器·集合源码·java100天进阶
ai_coder_ai4 小时前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化
大圣编程5 小时前
Python中continue语句的用法是什么?
开发语言·前端·python
硕风和炜5 小时前
【LeetCode: 2492. 两个城市间路径的最小分数 + DFS】
java·算法·leetcode·深度优先·dfs·bfs·并查集