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

三亚网站制作上海做哪些行业赚钱

三亚网站制作,上海做哪些行业赚钱,大气简约企业网站模板,怎么制作网页视频教学Java 8 集合框架详解 Java集合框架是Java中最重要、最常用的API之一,Java 8对其进行了多项增强。下面我将全面讲解Java 8中的集合框架。 一、集合框架概述 Java集合框架主要分为两大类: Collection - 单列集合 List:有序可重复Set&#xf…

Java 8 集合框架详解

Java集合框架是Java中最重要、最常用的API之一,Java 8对其进行了多项增强。下面我将全面讲解Java 8中的集合框架。

一、集合框架概述

Java集合框架主要分为两大类:

  1. Collection - 单列集合

    • List:有序可重复
    • Set:无序不重复
    • Queue:队列
  2. Map - 双列集合(键值对)

二、List接口及实现类

1. ArrayList

List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");// Java 8新增方法
list.removeIf(s -> s.length() > 4);  // 移除长度大于4的元素
list.replaceAll(String::toUpperCase); // 所有元素转为大写
list.sort(Comparator.naturalOrder()); // 自然排序

2. LinkedList

LinkedList<String> linkedList = new LinkedList<>();
linkedList.addFirst("First");
linkedList.addLast("Last");// Java 8新增方法
linkedList.removeIf(s -> s.startsWith("F"));

3. Vector (线程安全但性能较低)

三、Set接口及实现类

1. HashSet

Set<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(3);// Java 8新增
set.removeIf(i -> i % 2 == 0);

2. LinkedHashSet (保持插入顺序)

3. TreeSet (自然排序)

TreeSet<String> treeSet = new TreeSet<>();
treeSet.add("Banana");
treeSet.add("Apple");
treeSet.add("Orange");// Java 8方法
String first = treeSet.first();  // Apple
String last = treeSet.last();    // Orange

四、Queue接口及实现类

1. PriorityQueue

PriorityQueue<Integer> pq = new PriorityQueue<>();
pq.add(3);
pq.add(1);
pq.add(2);pq.poll(); // 1 (最小元素)

2. ArrayDeque

Deque<String> deque = new ArrayDeque<>();
deque.offerFirst("First");
deque.offerLast("Last");

五、Map接口及实现类

1. HashMap

Map<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);// Java 8新增方法
map.compute("Java", (k, v) -> v == null ? 1 : v + 1); // 值+1
map.computeIfAbsent("JavaScript", k -> 4); // 不存在则添加
map.computeIfPresent("Java", (k, v) -> v + 10); // 存在则更新map.merge("Java", 1, Integer::sum); // 合并值// 遍历
map.forEach((k, v) -> System.out.println(k + ": " + v));

2. LinkedHashMap (保持插入顺序)

3. TreeMap (按键排序)

TreeMap<String, Integer> treeMap = new TreeMap<>();
treeMap.put("Banana", 1);
treeMap.put("Apple", 2);
treeMap.put("Orange", 3);// Java 8方法
Map.Entry<String, Integer> first = treeMap.firstEntry();
Map.Entry<String, Integer> last = treeMap.lastEntry();

4. ConcurrentHashMap (线程安全)

ConcurrentHashMap<String, Integer> concurrentMap = new ConcurrentHashMap<>();
concurrentMap.put("One", 1);
concurrentMap.put("Two", 2);// Java 8新增方法
concurrentMap.forEach(2, (k, v) -> System.out.println(k + ": " + v)); // 并行遍历

六、Java 8集合新特性

1. Stream API

List<String> languages = Arrays.asList("Java", "Python", "C++", "JavaScript");// 过滤
List<String> filtered = languages.stream().filter(s -> s.startsWith("J")).collect(Collectors.toList());// 映射
List<Integer> lengths = languages.stream().map(String::length).collect(Collectors.toList());// 排序
List<String> sorted = languages.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());// 聚合操作
long count = languages.stream().count();
Optional<String> max = languages.stream().max(Comparator.naturalOrder());// 并行流
long countParallel = languages.parallelStream().count();

2. 新的集合方法

Map<String, List<String>> map = new HashMap<>();// 传统方式
if (!map.containsKey("key")) {map.put("key", new ArrayList<>());
}
map.get("key").add("value");// Java 8方式
map.computeIfAbsent("key", k -> new ArrayList<>()).add("value");

3. 增强的迭代方式

List<String> list = Arrays.asList("a", "b", "c");// 传统方式
for (String s : list) {System.out.println(s);
}// Java 8方式
list.forEach(System.out::println);

七、集合工具类 Collections

List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);// 排序
Collections.sort(numbers);// Java 8新增
Collections.replaceAll(numbers, 1, 10); // 替换所有1为10// 不可变集合
List<Integer> immutableList = Collections.unmodifiableList(numbers);// 空集合
List<String> emptyList = Collections.emptyList();

八、最佳实践

  1. 选择正确的集合类型

    • 需要快速随机访问 → ArrayList
    • 频繁插入删除 → LinkedList
    • 需要去重 → HashSet
    • 需要键值对 → HashMap
  2. 初始化时指定容量(特别是大型集合)

    new ArrayList<>(1000);
    new HashMap<>(16, 0.75f);
    
  3. 使用不可变集合(线程安全)

    List<String> list = Collections.unmodifiableList(new ArrayList<>());
    
  4. 优先使用Java 8新方法

    • forEach()
    • removeIf()
    • computeIfAbsent()
    • merge()
  5. 考虑并行流处理大数据集

    bigList.parallelStream().filter(...).collect(...);
    

Java 8的集合框架通过这些新特性,使集合操作更加简洁、高效和功能强大。

http://www.dtcms.com/a/430516.html

相关文章:

  • 静态网站站内搜索网站建设原则应考虑哪些
  • 1688拿货网义乌seo推广
  • 中国十大购物网站排行榜我做网站编辑写文章很慢怎么办
  • 邢台中北世纪城网站兼职贸易公司怎么做网站比较好
  • 企业网站建设杭州在家做兼职哪个网站
  • 青岛做网站优化哪家好园林公司网站建设费用
  • 临沂做网站建设的公司哪家好做旅游网站的意义
  • 基于django的电子商务网站开发腾讯云域名注册官网
  • 什么是公司注册资金快速网站推广优化
  • 网站上怎么做福彩卖家网络营销功能
  • 怎么把网站设置为主页面装潢设计培训中心
  • 好的html5网站快排seo
  • 软件ui设计培训机构下载班级优化大师并安装
  • 做装修的网站怎么做好中山做营销型网站公司
  • 网站建站行业新闻外链网站是什么
  • 邯郸网站设计报价山西省确诊病例最新情况
  • 网站方案组成要素昆明软件开发培训
  • 网站统计模板网站建设需求分析的实施
  • 旅游网站策划案苏宁网站开发人员工资
  • 做推广用的网站wordpress更换域名后显示空白
  • 建行移动门户网站有前景的网站建设
  • 电子商务网站建设的核心是wordpress连接被重置
  • 文章类型的网站模版恩施网站定制
  • 百度给做网站公司建筑企业官网
  • 网站 侧边栏惠安网站建设价格
  • 企业建设网站作用制作企业宣传片的厂家
  • 如何自己免费建网站网站开发网页
  • 网站开发去哪里找程序员网站 asp php
  • 厦门做网站个人wordpress 数据库 发布
  • 室内设计网站模板青岛网站建设方案公司