From 90cf4fe1ddca4b29aa74d7227c96d2a369dbdb62 Mon Sep 17 00:00:00 2001
From: Diegom203 <153622681+Diegom203@users.noreply.github.com>
Date: Mon, 8 Apr 2024 19:39:16 +0200
Subject: [PATCH] baeldung-articles : BAEL-7500 (#16329)
* Update pom.xml
Add collections-6
* baeldung-articles : BAEL-7500
Move the article to /core-java-collections-6
---
.../core-java-collections-6/README.md | 5 ++
.../core-java-collections-6/pom.xml | 71 +++++++++++++++++++
.../listiteration/ListIterationUnitTest.java | 71 +++++++++++++++++++
core-java-modules/pom.xml | 1 +
4 files changed, 148 insertions(+)
create mode 100644 core-java-modules/core-java-collections-6/README.md
create mode 100644 core-java-modules/core-java-collections-6/pom.xml
create mode 100644 core-java-modules/core-java-collections-6/src/test/java/com/baeldung/listiteration/ListIterationUnitTest.java
diff --git a/core-java-modules/core-java-collections-6/README.md b/core-java-modules/core-java-collections-6/README.md
new file mode 100644
index 0000000000..b5f1adbf48
--- /dev/null
+++ b/core-java-modules/core-java-collections-6/README.md
@@ -0,0 +1,5 @@
+=========
+
+## Core Java Collections Cookbooks and Examples
+
+### Relevant Articles:
diff --git a/core-java-modules/core-java-collections-6/pom.xml b/core-java-modules/core-java-collections-6/pom.xml
new file mode 100644
index 0000000000..3d38c3de35
--- /dev/null
+++ b/core-java-modules/core-java-collections-6/pom.xml
@@ -0,0 +1,71 @@
+
+
+ 4.0.0
+ core-java-collections-6
+ jar
+ core-java-collections-6
+
+
+ com.baeldung.core-java-modules
+ core-java-modules
+ 0.0.1-SNAPSHOT
+
+
+
+
+ org.junit.platform
+ junit-platform-runner
+ ${junit-platform.version}
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit.version}
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ ${junit.version}
+ test
+
+
+ org.roaringbitmap
+ RoaringBitmap
+ ${roaringbitmap.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ 9
+
+
+
+
+
+
+ 5.9.2
+ 0.9.38
+ 1.36
+
+
+
diff --git a/core-java-modules/core-java-collections-6/src/test/java/com/baeldung/listiteration/ListIterationUnitTest.java b/core-java-modules/core-java-collections-6/src/test/java/com/baeldung/listiteration/ListIterationUnitTest.java
new file mode 100644
index 0000000000..2f1b2cc083
--- /dev/null
+++ b/core-java-modules/core-java-collections-6/src/test/java/com/baeldung/listiteration/ListIterationUnitTest.java
@@ -0,0 +1,71 @@
+package com.baeldung.listiteration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.junit.jupiter.api.Assertions.assertIterableEquals;
+
+public class ListIterationUnitTest {
+
+ List programmingLanguages = new ArrayList<>(List.of("Java", "Python", "C++"));
+ List numbers = new ArrayList<>(List.of(1, 2, 3));
+
+ @Test
+ public void givenStringList_whenAddElementWithListIterator_thenModifiedList() {
+ ListIterator listIterator = programmingLanguages.listIterator();
+ while (listIterator.hasNext()) {
+ String language = listIterator.next();
+ if (language.equals("Python")) {
+ listIterator.add("JavaScript");
+ }
+ }
+
+ assertIterableEquals(Arrays.asList("Java", "Python", "JavaScript", "C++"), programmingLanguages);
+ }
+
+ @Test
+ public void givenNumericalList_whenMultiplyElementWithListIterator_thenModifiedList() {
+ ListIterator listIterator = numbers.listIterator();
+ while (listIterator.hasNext()) {
+ int num = listIterator.next();
+ if (num == 2) {
+ listIterator.add(num * 10);
+ }
+ }
+ assertIterableEquals(Arrays.asList(1, 2, 20, 3), numbers);
+ }
+
+ @Test
+ public void givenStringList_whenAddElementWithEnhancedForLoopAndCopy_thenModifiedList() {
+ List copyOfWords = new ArrayList<>(programmingLanguages);
+ for (String word : copyOfWords) {
+ programmingLanguages.add(word.toUpperCase()); // Modified: Convert to uppercase
+ }
+ assertIterableEquals(Arrays.asList("Java", "Python", "C++", "JAVA", "PYTHON", "C++"), programmingLanguages);
+ }
+
+ @Test
+ public void givenNumericalList_whenMultiplyElementWithEnhancedForLoopAndCopy_thenModifiedList() {
+ List copyOfNumbers = new ArrayList<>(numbers);
+ for (int num : copyOfNumbers) {
+ numbers.add(num * 2);
+ }
+ assertIterableEquals(Arrays.asList(1, 2, 3, 2, 4, 6), numbers);
+ }
+
+ @Test
+ public void givenStringList_whenConvertToUpperCaseWithJava8Stream_thenModifiedList() {
+ programmingLanguages = programmingLanguages.stream().map(String::toUpperCase).collect(Collectors.toList());
+ assertIterableEquals(Arrays.asList("JAVA", "PYTHON", "C++"), programmingLanguages);
+ }
+
+ @Test
+ public void givenNumericalList_whenMultiplyByThreeWithJava8Stream_thenModifiedList() {
+ numbers = numbers.stream().map(num -> num * 3).collect(Collectors.toList());
+ assertIterableEquals(Arrays.asList(3, 6, 9), numbers);
+ }
+
+}
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index bd7aae6410..f6c5f8191a 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -89,6 +89,7 @@
core-java-collections-3
core-java-collections-4
core-java-collections-5
+ core-java-collections-6
core-java-collections-conversions
core-java-collections-set-2
core-java-collections-list