java打卡学习6:集合框架 Collection
集合框架概述集合框架Collection Framework是Java中用于存储、操作和传输数据的标准化架构。它提供了一组接口、实现类和算法用于处理对象集合简化了数据结构的操作。核心目标性能优异提供不同数据结构的实现如数组、链表、哈希表、树以满足不同场景的性能需求。互操作性不同集合类型之间的交互有统一的接口规范。易学易用API 设计清晰方法命名一致如add、remove、size。与数组的区别特性数组集合长度固定动态可变存储类型基本类型 对象只能存储对象基本类型需包装类功能简单仅有 length 属性丰富提供排序、查找、同步等高级功能核心接口Collection根接口定义了通用方法如add(),remove(),size()。List有序集合允许重复元素如ArrayList,LinkedList。Set无序集合不允许重复元素如HashSet,TreeSet。Queue队列结构支持先进先出FIFO操作如PriorityQueue。Map键值对存储独立于Collection接口如HashMap,TreeMap。常用实现类ArrayList基于动态数组适合随机访问。LinkedList基于双向链表适合频繁插入/删除。HashSet基于哈希表快速查找无序。TreeSet基于红黑树元素自动排序。HashMap键值对存储允许null键/值。LinkedHashMap保持插入顺序或访问顺序。示例代码// List示例 ListString list new ArrayList(); list.add(Java); list.add(Python); System.out.println(list); // 输出: [Java, Python] // Set示例 SetInteger set new HashSet(); set.add(10); set.add(20); set.add(10); // 重复元素不会被添加 System.out.println(set); // 输出: [20, 10] // Map示例 MapString, Integer map new HashMap(); map.put(A, 1); map.put(B, 2); System.out.println(map.get(A)); // 输出: 1工具类Collections提供静态方法如排序sort()、反转reverse()。Arrays处理数组与集合的转换如asList()。注意事项线程安全多数集合类非线程安全需使用Collections.synchronizedList()或并发包如ConcurrentHashMap。性能选择根据场景选择实现类如频繁查询用ArrayList频繁修改用LinkedList。List 体系重点特点有序、可重复、有下标常用实现类ArrayList底层动态数组优点查询快、遍历快缺点增删慢要移动元素线程不安全LinkedList底层双向链表优点增删快缺点查询慢可当作栈、队列、双端队列Vector底层数组线程安全效率低基本不用Set 体系重点特点无序、不可重复、无索引常用实现类HashSet底层HashMap哈希表去重原理hashCode()equals()无序、高效LinkedHashSet底层哈希表 双向链表保证插入有序 去重TreeSet底层红黑树特点自动排序自然排序 / 比较器排序去重根据比较结果是否为 0遍历方式Collection 通用迭代器 Iterator最通用IteratorString it coll.iterator(); while (it.hasNext()) { String s it.next(); }增强 for 循环for (String s : coll) { }forEach LambdaJDK8coll.forEach(s - System.out.println(s));选择建议面试/开发实用
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2470333.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!