当前位置: 首页 > news >正文

北京市保障房建设投资中心网站首页广州网站定做教程

北京市保障房建设投资中心网站首页,广州网站定做教程,无锡做网站、,app软件下载网站免费进入Java集合框架是一套强大的工具#xff0c;为开发者提供了灵活的数据管理方式。本文将深入剖析List、Set和Map的内部机制#xff0c;通过详细的示例和扩展讨论#xff0c;带你领略这些数据容器的真谛。 一、List#xff1a;有序序列的深度剖析 List接口是一个可以包含重复…Java集合框架是一套强大的工具为开发者提供了灵活的数据管理方式。本文将深入剖析List、Set和Map的内部机制通过详细的示例和扩展讨论带你领略这些数据容器的真谛。 一、List有序序列的深度剖析 List接口是一个可以包含重复元素的有序集合。Java中ArrayList和LinkedList是最常见的List实现。 ArrayList基于动态数组支持随机访问但插入和删除效率较低。 import java.util.ArrayList;public class ArrayListExample {public static void main(String[] args) {ArrayListInteger numbers new ArrayList();numbers.add(1);numbers.add(2);System.out.println(numbers.get(0)); // 输出 1System.out.println(numbers.size()); // 输出 2// 插入和删除操作numbers.add(1, 3);System.out.println(numbers); // 输出 [1, 3, 2]numbers.remove(1);System.out.println(numbers); // 输出 [1, 2]} }LinkedList基于链表适合频繁的插入和删除但不支持随机访问。 import java.util.LinkedList;public class LinkedListExample {public static void main(String[] args) {LinkedListInteger numbers new LinkedList();numbers.add(1);numbers.add(2);System.out.println(numbers.getFirst()); // 输出 1System.out.println(numbers.getLast()); // 输出 2// 插入和删除操作numbers.addFirst(0);System.out.println(numbers); // 输出 [0, 1, 2]numbers.removeLast();System.out.println(numbers); // 输出 [0, 1]} }二、Set唯一元素的守护者 Set接口确保集合中元素的唯一性不支持重复元素。主要实现包括HashSet和TreeSet。 HashSet基于哈希表提供快速的元素查找和插入。 import java.util.HashSet;public class HashSetExample {public static void main(String[] args) {HashSetInteger numbers new HashSet();numbers.add(1);numbers.add(2);numbers.add(2); // 重复元素不会被添加System.out.println(numbers.contains(1)); // 输出 trueSystem.out.println(numbers.size()); // 输出 2} }TreeSet基于红黑树自动排序元素适用于需要有序集合的场景。 import java.util.TreeSet;public class TreeSetExample {public static void main(String[] args) {TreeSetInteger numbers new TreeSet();numbers.add(2);numbers.add(1);numbers.add(3);System.out.println(numbers); // 输出 [1, 2, 3]} }三、Map键值对的管理大师 Map接口用于存储键值对键必须是唯一的。HashMap和TreeMap是最常见的Map实现。 HashMap基于哈希表提供快速的键值对查找。 import java.util.HashMap;public class HashMapExample {public static void main(String[] args) {HashMapInteger, String map new HashMap();map.put(1, One);map.put(2, Two);System.out.println(map.get(1)); // 输出 OneSystem.out.println(map.containsKey(2)); // 输出 true} }TreeMap基于红黑树键值对自动排序适用于需要排序的键值对场景。 import java.util.TreeMap;public class TreeMapExample {public static void main(String[] args) {TreeMapInteger, String map new TreeMap();map.put(2, Two);map.put(1, One);map.put(3, Three);System.out.println(map); // 输出 {1One, 2Two, 3Three}} }扩展讨论迭代器与增强for循环 迭代器Iterator和增强for循环Enhanced For Loop是遍历集合的常用方式。 import java.util.ArrayList; import java.util.Iterator;public class IteratorExample {public static void main(String[] args) {ArrayListInteger numbers new ArrayList();numbers.add(1);numbers.add(2);numbers.add(3);// 使用迭代器遍历IteratorInteger iterator numbers.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}// 使用增强for循环遍历for (Integer number : numbers) {System.out.println(number);}} }四、深入探讨性能与场景的权衡 性能考量ArrayList和HashMap在大多数情况下提供最佳性能因为它们基于哈希表和数组而LinkedList和TreeSet/TreeMap则在特定场景下表现更佳如频繁的插入删除或需要排序的场合。内存消耗LinkedList由于额外的节点指针比ArrayList占用更多内存TreeSet和TreeMap也因为树的结构而消耗更多内存。并发安全性默认情况下上述容器都不支持线程安全但在高并发场景下可以考虑使用Collections.synchronizedList()、Collections.synchronizedSet()、Collections.synchronizedMap()或者ConcurrentHashMap等并发容器。
http://www.hkea.cn/news/14495004/

相关文章:

  • 福建省建住房建设部网站游戏网站建设需要多少钱
  • 凡客建网站网站如何快速被收录
  • 齐齐哈尔网站建设公司科技股
  • 有趣的网站游戏建设黑彩网站
  • 如何调整网站板块位置建筑工程管理软件
  • 做便宜的宝贝的网站人才网最新招聘
  • 成都高端模板建站为传销做网站
  • 河源北京网站建设网站空间续费后网页不能打开
  • phpcms可以做哪些网站wordpress生成二维码
  • 站群管理系统cms任务发布插件wordpress
  • 江苏城乡住房建设部网站潍坊专业网站制作公司营销
  • 天津微信网站开发门户网站建设询价函
  • 济南做网站的公司有哪些wordpress 文章字体
  • 怎么把网站扒下来网站所有页面只显示域名
  • 建设网站你认为需要注意哪些问题应聘网站运营建设面试
  • 可以查企业备案的网站吗网络营销策略优化
  • 做中国最专业的健康门户网站wordpress升级说版本低
  • 周至做网站公司部门分类
  • html网站开发例子郑州网站推广报价
  • 网站建设公司做销售前景好不好河南智慧团建网站登录
  • 网站如何让百度收录营销策划方案1000例
  • 株洲网站建设 李阿里云网站建设
  • 网站建设页面设计之后企业整站seo
  • 福鼎手机网站建设湛江网站建设公司哪家好
  • 响应式企业网站建设局网站建设情况
  • 网站空间在线解压社交网站开发用到的技术
  • 做网站外包群关键词搜索引擎工具爱站
  • 江永网站建设wordpress插件外贸
  • 医疗网站如何做优化中国建设银行个人查询余额
  • 张家口建设网站外包什么意思