- 浏览: 1112654 次
文章分类
- 全部博客 (379)
- S2SH (16)
- stuts2 (0)
- java语言 (81)
- JSP (17)
- <html>元素 (11)
- javaweb (4)
- web容器 (3)
- ext (23)
- javaScript (48)
- ant (1)
- liferay (1)
- sql (9)
- css (42)
- 浏览器设置 (3)
- office_world (1)
- eclipse (4)
- 其它 (28)
- 操作系统 (5)
- android (6)
- Struts2 (11)
- RegEx (3)
- mysql (5)
- BigDATA (1)
- Node.js (1)
- Algorithm (10)
- Apache Spark (1)
- 数据库 (5)
- linux (2)
- git (1)
- Adobe (3)
- java语言,WebSocket (1)
- Maven (3)
- SHELL (1)
- XML (2)
- 数学 (2)
- Python (2)
- Java_mysql (1)
- ReactJS (6)
- 养生 (4)
- Docker (1)
- Protocols (3)
- java8 (2)
- 书籍 (1)
- Gradle (2)
- AngularJS (5)
- SpringMVC (2)
- SOAP (1)
- BootstrapCSS (1)
- HTTP协议 (1)
- OAuth2 (1)
最新评论
-
Lixh1986:
Java并发编程:自己动手写一把可重入锁https://blo ...
Java之多线程之Lock与Condition -
Lixh1986:
http://win.51apps.com.cn/https: ...
temp -
ztwsl:
不错,支持很好
HttpServletRequest和ServletRequest的区别 -
guodongkai:
谢谢您能将知识精华汇编总结,让初学者们从原理中学会和提高。
javaScript之function定义 -
kangwen23:
谢谢了,顶顶
struts2中的ValueStack学习
package java8.collections; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; import org.junit.Before; import org.junit.Test; public class ForEach { private List<String> list = new ArrayList<>(); @Before public void initData() { list.add("Java 1.5"); list.add("Java 1.6"); list.add("Scala"); list.add("Python"); list.add("Html"); list.add("css"); list.add("JavaScript"); list.add("js"); list.add("Hadoop"); list.add("C"); list.add("redis"); list.add("Java 1.7"); list.add("Java 1.8"); } /** * 在Java8之前的遍历方式 */ @Test public void testErgodicWayBeforeJava8() { System.out.println("\nBefore JAVA8 ===================================>"); System.out.println(">>>> for loop:"); for (int i = 0; i < list.size(); i++) { System.out.println("list.get(i) = " + list.get(i)); } System.out.println(">>>> for loop enhanced:"); for (String ele : list) { System.out.println("ele = " + ele); } System.out.println(">>>> iterator:"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()){ System.out.println("iterator.next() = " + iterator.next()); } } /** * 在Java8中的遍历方式 */ @Test public void testCollection_forEach_Java8() { System.out.println("\nJAVA8:::Collection.forEach ======================>"); list.forEach(System.out::println); } @Test public void testCollection_stream_map_Java8() { System.out.println("\nJAVA8:::Collection.stream.map ==================>"); list.stream() .map(item -> "Mapped_Value_" + item) .collect(Collectors.toList()).stream() .forEach(System.out::println); } @Test public void testCollection_stream_filter_map_Java8() { System.out.println("\nJAVA8:::Collection.stream.filter.map ==========>"); list.stream() .filter(item -> item.contains("Java")) .map(item -> "Mapped_Value_" + item) .collect(Collectors.toList()).stream() .forEach(System.out::println); } }
输出结果:
Before JAVA8 ===================================>
>>>> for loop:
list.get(i) = Java 1.5
list.get(i) = Java 1.6
list.get(i) = Scala
list.get(i) = Python
list.get(i) = Html
list.get(i) = css
list.get(i) = JavaScript
list.get(i) = js
list.get(i) = Hadoop
list.get(i) = C
list.get(i) = redis
list.get(i) = Java 1.7
list.get(i) = Java 1.8
>>>> for loop enhanced:
ele = Java 1.5
ele = Java 1.6
ele = Scala
ele = Python
ele = Html
ele = css
ele = JavaScript
ele = js
ele = Hadoop
ele = C
ele = redis
ele = Java 1.7
ele = Java 1.8
>>>> iterator:
iterator.next() = Java 1.5
iterator.next() = Java 1.6
iterator.next() = Scala
iterator.next() = Python
iterator.next() = Html
iterator.next() = css
iterator.next() = JavaScript
iterator.next() = js
iterator.next() = Hadoop
iterator.next() = C
iterator.next() = redis
iterator.next() = Java 1.7
iterator.next() = Java 1.8
JAVA8:::Collection.forEach ======================>
Java 1.5
Java 1.6
Scala
Python
Html
css
JavaScript
js
Hadoop
C
redis
Java 1.7
Java 1.8
JAVA8:::Collection.stream.map ==================>
Mapped_Value_Java 1.5
Mapped_Value_Java 1.6
Mapped_Value_Scala
Mapped_Value_Python
Mapped_Value_Html
Mapped_Value_css
Mapped_Value_JavaScript
Mapped_Value_js
Mapped_Value_Hadoop
Mapped_Value_C
Mapped_Value_redis
Mapped_Value_Java 1.7
Mapped_Value_Java 1.8
JAVA8:::Collection.stream.filter.map ==========>
Mapped_Value_Java 1.5
Mapped_Value_Java 1.6
Mapped_Value_JavaScript
Mapped_Value_Java 1.7
Mapped_Value_Java 1.8
=
发表评论
-
java 将文件夹所有的文件合并到指定的文件夹下
2020-06-30 19:17 1064场景:将文件夹所有的文件合并到指定的文件夹下 另外:如果想效 ... -
多线程-线程池的四种创建方式
2020-04-01 18:38 488多线程-线程池的四种创建方式 https://blog.cs ... -
Java基础之:nio
2019-11-13 15:38 484一、理论讲解: 史上最强Java NIO入门:担心从入门到放弃 ... -
Java 分布式之:RPC 基本概念
2019-11-13 15:07 462转载: https://www.jianshu.com/p/ ... -
Java之 volatile 关键字原理详解
2019-11-07 15:36 548一、什么是 volatile ? ... -
POI实现excell批注背景图片(仿html浮窗显示图片)
2019-10-21 08:17 693POI实现excell批注背景图片(仿html浮窗显示图片) ... -
Java之设计模式之 Observer 观察者
2019-07-04 17:21 1070观察者设计模式 Java 已经实现了该模式,并且提供了使用类 ... -
HashMap, LinkedHashMap and TreeMap
2019-03-01 11:04 680https://stackoverflow.com/a/177 ... -
Java lib 操作 excel 插入图片
2019-01-19 12:46 881https://poi.apache.org/componen ... -
数据库连接池C3P0
2018-05-29 16:50 897一、名字的由来 很多 ... -
Junit Vs main on "java.util.concurrent.Executors"
2017-11-10 16:44 816Same code with different result ... -
Java之大数据学习路线
2017-11-03 10:08 5722三个月大数据研发学习 ... -
Java中创建对象的5种方式
2017-10-26 14:21 842一、Java之5种创建对象的方式 ————————————— ... -
Log4j和Slf4j的比较
2017-06-23 12:41 1411一直搞不清 Log4j 和 SLF4j 的关系。今天才若有所 ... -
Java之Java7新特性之try资源句式
2017-04-20 14:58 5385Java之Java7新特性之try资源句式 一、【try资源 ... -
Java之 java.util.concurrent 包之ExecutorService之submit () 之 Future
2017-03-04 21:27 3834一、如何使用 ExecutorService.submit() ... -
Java之 java.util.concurrent 包之Executor与ExecutorService
2017-03-04 21:18 2704一、问题: execute() 与 submit() 的区别? ... -
JAVAEE之单用户登录
2017-02-05 11:55 1058单用户登录是系统中数据一直性的解决方案之一。 问题背景: 试 ... -
Java之多线程之线程池之线程重复使用
2017-02-04 13:33 5568一、问题背景 在使用多线程时,如果要开启一个任务,则就需要新 ... -
Java之语法之方法调用之地址传值之空对象(null)
2017-01-26 14:05 3323一、问题: public void test ...
相关推荐
- Java 8的流API遍历:`collection.stream().forEach(action);` 9. **集合与数组的区别**: 数组长度固定,而集合的大小可变;数组支持下标访问,集合则通过迭代器访问。 10. **集合的最佳实践**: - 根据需求...
Stream API作为Java 8的重要特性之一,极大地简化了集合处理的代码编写过程,提升了程序的可读性和效率。 ### Stream概述 Java 8引入的Stream API提供了一种更加高效且易于理解的方式来处理集合中的数据。它可以被...
自Java 8起,`Map`接口引入了`forEach`方法,使用Lambda表达式或方法引用来遍历键值对。 ```java map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value)); ``` 5. **流(Stream...
8. **流(Stream)API**:从Java 8开始,引入了流API,它提供了函数式编程风格处理集合的新方式,如过滤、映射和收集操作。 9. **比较器与排序**:集合框架中的`Comparator`接口用于自定义比较逻辑,`Collections....
4. **遍历集合**:Java提供了多种遍历集合的方式,包括迭代器(`Iterator`)、增强型for循环(foreach)以及使用索引。例如,`Iterator迭代器 = collection.iterator();`,然后通过`iterator.hasNext()`和`iterator....
Java中的集合框架是Java编程语言的核心组成部分之一,它为存储、管理和操作对象提供了一组统一的接口和类。集合框架主要包括List、Set、Queue和Map四大接口,以及一系列实现这些接口的类,如ArrayList、LinkedList、...
在集合框架方面,Java 8增加了默认方法到接口中,如`java.util.Collection`和`java.util.List`。这些默认方法提供了如`forEach`、`stream`、`parallelStream`等实用操作,让开发者可以更方便地遍历和操作集合。另外...
11. **集合的遍历策略**:除了迭代器,还可以使用增强的for循环(foreach)进行遍历,如`for (Type element : collection) {...}`。 12. **集合容量与扩容**:集合类在创建时可以指定初始容量,如ArrayList的构造器...
8. **集合转换**:集合之间可以通过`addAll()`方法进行合并,`Collections.sort()`用于对List排序,`Arrays.asList()`将数组转换为List,`stream()`方法则引入了Java 8的流式处理。 9. **并发编程**:在多线程环境...
Java 8是Java编程语言的一个重要版本,...这份源码集合涵盖了上述所有知识点,是学习和巩固Java 8知识的宝贵资源。通过详细研究和实践,开发者能够更好地适应和利用Java 8的新特性,提高开发效率,写出更加优雅的代码。
Java 5引入的增强for循环(foreach)提供了简洁的遍历集合元素的方式,如`for (Type element : collection) {...}`。 6. **比较器与排序** 在Java集合框架中,Comparator接口用于自定义元素的比较逻辑,如在...
- `foreach`:遍历集合并应用给定的函数。 - `++`:连接两个集合,创建一个新的集合。 此外,还有许多其他操作,如`map`、`filter`、`reduce`等,这些都是集合处理的基本工具,为Scala程序员提供了强大而简洁的工具...
- Java 8引入的新特性,提供了一种新的集合操作方式,支持函数式编程。 以上只是部分可能涵盖的面试知识点,具体30个题目可能还会涉及其他细节,如并发控制、性能优化、集合的特性和使用场景等。深入理解这些概念...
13. **流(Stream)API**:Java 8引入的新特性,允许以声明式方式处理集合数据,提供了并行处理的能力。 14. **集合工厂方法**:`Collections.emptyList()`, `Collections.singletonList()`, `Collections.emptyMap...
9. **Collection与Iterable**:Collection是所有单值集合的父接口,而Iterable是所有可以迭代的对象的接口,Collection继承了Iterable,使得所有集合都能用foreach进行遍历。 10. **优先队列(PriorityQueue)**:...
Java 8 提供了新的集合操作 API 和 Stream 来帮助我们解决这个问题。 5.1 Collection.removeIf() 新的 Collection Api removeIf(Predicate<? super E> filter) 提供了一种更简洁的使用 Predicate 断言删除元素的...
2. 从集合创建流:使用 `Collection.stream()` 方法将集合转换为 Stream。 3. 从数组创建流:使用 `Arrays.stream()` 方法将数组转换为 Stream。 4. 通过构造器创建流:使用 `Stream.builder()` 方法创建一个 Stream...
Java 8 中引入的 Stream API 是处理集合的关键抽象概念,可以指定对集合进行的操作,执行非常复杂的查找、过滤和映射数据等操作。使用 Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。 创建 ...
Stream API 是 Java 8 中的一个强大特性,用于处理集合数据。它提供了一种声明式编程风格,支持序列化操作,如过滤、映射和归约。例如,以下代码使用 Stream API 计算列表中所有数字的总和: ```java List...
可以使用`map.entrySet().stream()`创建一个流,然后通过`forEach`进行遍历。代码示例: ```java map.entrySet().stream() .forEach(entry -> System.out.println("Key: " + entry.getKey() + ", Value: " + ...