Skip to content

Commit 035e8cc

Browse files
committed
Fix conflicts
2 parents 761a353 + d8d79fd commit 035e8cc

File tree

194 files changed

+3497
-499
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+3497
-499
lines changed

akka-modules/spring-akka/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
</dependencyManagement>
4444

4545
<properties>
46-
<spring.version>5.3.25</spring.version>
47-
<akka.version>2.4.14</akka.version>
46+
<spring.version>6.1.5</spring.version>
47+
<akka.version>2.4.17</akka.version>
4848
</properties>
4949

5050
</project>

algorithms-modules/algorithms-miscellaneous-7/src/test/java/com/baeldung/algorithms/findmissingnumber/FindMissingNumberUnitTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
44

5+
import java.util.ArrayList;
56
import java.util.Arrays;
67
import java.util.BitSet;
8+
import java.util.Collections;
9+
import java.util.List;
10+
import java.util.stream.Collectors;
711
import java.util.stream.IntStream;
812

913
import org.junit.jupiter.api.BeforeEach;
@@ -81,4 +85,30 @@ void givenIntegersArray_whenUseBitSetToFindMissingNumber_thenGetMissingNumber()
8185

8286
assertEquals(3, missingNumber);
8387
}
88+
89+
@Test
90+
void givenIntegersArrayWithMultipleMissingNumbers_whenUseBitSetToFindMultipleMissingNumbers_thenGetMultipleMissingNumbers() {
91+
int[] numbersWithMultipleMissing = new int[] { 1, 5, 2, 8, 9 };
92+
int N = Arrays.stream(numbersWithMultipleMissing)
93+
.max()
94+
.getAsInt();
95+
96+
BitSet allBitSet = new BitSet(N + 1);
97+
IntStream.rangeClosed(1, N)
98+
.forEach(allBitSet::set);
99+
100+
BitSet presentBitSet = new BitSet(N + 1);
101+
Arrays.stream(numbersWithMultipleMissing)
102+
.forEach(presentBitSet::set);
103+
104+
allBitSet.and(presentBitSet);
105+
106+
List<Integer> result = IntStream.rangeClosed(1, N)
107+
.filter(i -> !allBitSet.get(i))
108+
.boxed()
109+
.sorted()
110+
.collect(Collectors.toList());
111+
112+
assertEquals(result, Arrays.asList(3, 4, 6, 7));
113+
}
84114
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.baledung.algorithms.successivepairs;
2+
3+
import java.util.AbstractMap.SimpleEntry;
4+
import java.util.ArrayList;
5+
import java.util.Arrays;
6+
import java.util.List;
7+
import java.util.stream.Collectors;
8+
import java.util.stream.IntStream;
9+
import java.util.stream.Stream;
10+
11+
public class SuccessivePairs {
12+
13+
public static <T> List<SimpleEntry<T, T>> collectSuccessivePairs(Stream<T> stream) {
14+
List<T> list = stream.collect(Collectors.toList());
15+
return IntStream.range(0, list.size() - 1)
16+
.mapToObj(i -> new SimpleEntry<>(list.get(i), list.get(i + 1)))
17+
.collect(Collectors.toList());
18+
}
19+
20+
public static <T> Stream<List<T>> pairwise(Stream<T> stream) {
21+
List<T> list = stream.collect(Collectors.toList());
22+
List<List<T>> pairs = new ArrayList<>();
23+
for (int i = 0; i < list.size() - 1; i++) {
24+
pairs.add(Arrays.asList(list.get(i), list.get(i + 1)));
25+
}
26+
return pairs.stream();
27+
}
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.baeldung.algorithms.successivepairs;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertTrue;
5+
6+
import java.util.AbstractMap.SimpleEntry;
7+
import java.util.Arrays;
8+
import java.util.List;
9+
import java.util.stream.Collectors;
10+
import java.util.stream.Stream;
11+
12+
import org.junit.jupiter.api.Test;
13+
14+
import com.baledung.algorithms.successivepairs.SuccessivePairs;
15+
16+
public class SuccessivePairsUnitTest {
17+
18+
@Test
19+
public void givenEmptyStream_whenUsingSimpleEntry_thenCollectPairs() {
20+
Stream<Integer> stream = Stream.empty();
21+
List<SimpleEntry<Integer, Integer>> pairs = SuccessivePairs.collectSuccessivePairs(stream);
22+
assertTrue(pairs.isEmpty());
23+
}
24+
25+
@Test
26+
public void givenSingleElement_whenUsingSimpleEntry_thenCollectPairs() {
27+
Stream<Integer> stream = Stream.of(1);
28+
List<SimpleEntry<Integer, Integer>> pairs = SuccessivePairs.collectSuccessivePairs(stream);
29+
assertTrue(pairs.isEmpty());
30+
}
31+
32+
@Test
33+
public void givenMultipleElementStream_whenUsingSimpleEntry_thenCollectPairs() {
34+
Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5);
35+
List<SimpleEntry<Integer, Integer>> pairs = SuccessivePairs.collectSuccessivePairs(stream);
36+
assertEquals(4, pairs.size());
37+
38+
assertEquals(new SimpleEntry<>(1, 2), pairs.get(0));
39+
assertEquals(new SimpleEntry<>(2, 3), pairs.get(1));
40+
assertEquals(new SimpleEntry<>(3, 4), pairs.get(2));
41+
assertEquals(new SimpleEntry<>(4, 5), pairs.get(3));
42+
}
43+
44+
@Test
45+
public void givenStreamWithDuplicate_whenUsingSimpleEntry_thenCollectPairs() {
46+
Stream<Integer> stream = Stream.of(1, 1, 2, 2, 3, 3);
47+
List<SimpleEntry<Integer, Integer>> pairs = SuccessivePairs.collectSuccessivePairs(stream);
48+
assertEquals(5, pairs.size());
49+
50+
assertEquals(new SimpleEntry<>(1, 1), pairs.get(0));
51+
assertEquals(new SimpleEntry<>(1, 2), pairs.get(1));
52+
assertEquals(new SimpleEntry<>(2, 2), pairs.get(2));
53+
assertEquals(new SimpleEntry<>(2, 3), pairs.get(3));
54+
assertEquals(new SimpleEntry<>(3, 3), pairs.get(4));
55+
}
56+
57+
@Test
58+
public void givenStreamWithLetters_whenUsingStatefulTransform_thenCollectPairs() {
59+
Stream<String> stream = Stream.of("a", "b", "c", "d", "e");
60+
List<List<String>> result = SuccessivePairs.pairwise(stream)
61+
.collect(Collectors.toList());
62+
63+
List<List<String>> expected = Arrays.asList(Arrays.asList("a", "b"), Arrays.asList("b", "c"), Arrays.asList("c", "d"), Arrays.asList("d", "e"));
64+
65+
assertEquals(expected, result);
66+
}
67+
}

algorithms-modules/algorithms-searching/src/main/java/com/baeldung/algorithms/binarysearch/BinarySearch.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.baeldung.algorithms.binarysearch;
22

3+
import java.util.ArrayList;
34
import java.util.Arrays;
45
import java.util.Collections;
56
import java.util.List;
7+
import java.util.stream.Collectors;
8+
import java.util.stream.IntStream;
69

710
public class BinarySearch {
811

@@ -52,4 +55,51 @@ public int runBinarySearchUsingJavaCollections(List<Integer> sortedList, Integer
5255
return index;
5356
}
5457

58+
public List<Integer> runBinarySearchOnSortedArraysWithDuplicates(int[] sortedArray, Integer key) {
59+
int startIndex = startIndexSearch(sortedArray, key);
60+
int endIndex = endIndexSearch(sortedArray, key);
61+
return IntStream.rangeClosed(startIndex, endIndex)
62+
.boxed()
63+
.collect(Collectors.toList());
64+
}
65+
66+
private int endIndexSearch(int[] sortedArray, int target) {
67+
int left = 0;
68+
int right = sortedArray.length - 1;
69+
int result = -1;
70+
71+
while (left <= right) {
72+
int mid = left + (right - left) / 2;
73+
if (sortedArray[mid] == target) {
74+
result = mid;
75+
left = mid + 1;
76+
} else if (sortedArray[mid] < target) {
77+
left = mid + 1;
78+
} else {
79+
right = mid - 1;
80+
}
81+
}
82+
83+
return result;
84+
}
85+
86+
private int startIndexSearch(int[] sortedArray, int target) {
87+
int left = 0;
88+
int right = sortedArray.length - 1;
89+
int result = -1;
90+
while (left <= right) {
91+
int mid = left + (right - left) / 2;
92+
if (sortedArray[mid] == target) {
93+
result = mid;
94+
right = mid - 1;
95+
} else if (sortedArray[mid] < target) {
96+
left = mid + 1;
97+
} else {
98+
right = mid - 1;
99+
}
100+
}
101+
102+
return result;
103+
}
104+
55105
}

algorithms-modules/algorithms-searching/src/test/java/com/baeldung/algorithms/binarysearch/BinarySearchUnitTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,12 @@ void givenASortedListOfIntegers_whenBinarySearchRunUsingCollectionsClassStaticMe
3939
BinarySearch binSearch = new BinarySearch();
4040
assertEquals(expectedIndexForSearchKey, binSearch.runBinarySearchUsingJavaCollections(sortedList, key));
4141
}
42+
43+
@Test
44+
void givenSortedListOfIntegers_whenBinarySearchOnSortedArraysWithDuplicates_thenGetIndexOfDuplicates() {
45+
int[] sortedArray = { 1, 2, 3, 4, 5, 5, 5, 5, 5, 6, 7, 7, 8, 9 };
46+
BinarySearch binSearch = new BinarySearch();
47+
assertEquals(Arrays.asList(4, 5, 6, 7, 8), binSearch.runBinarySearchOnSortedArraysWithDuplicates(sortedArray, 5));
48+
}
4249

4350
}

apache-libraries/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,16 @@
7878
<artifactId>meecrowave-jpa</artifactId>
7979
<version>${meecrowave-jpa.version}</version>
8080
</dependency>
81+
<dependency>
82+
<groupId>org.apache.xbean</groupId>
83+
<artifactId>xbean-asm9-shaded</artifactId>
84+
<version>${xbean.version}</version>
85+
</dependency>
86+
<dependency>
87+
<groupId>org.apache.xbean</groupId>
88+
<artifactId>xbean-reflect</artifactId>
89+
<version>${xbean.version}</version>
90+
</dependency>
8191
<dependency>
8292
<groupId>com.squareup.okhttp3</groupId>
8393
<artifactId>okhttp</artifactId>
@@ -219,6 +229,7 @@
219229
<meecrowave-jpa.version>1.2.15</meecrowave-jpa.version>
220230
<meecrowave-core.version>1.2.15</meecrowave-core.version>
221231
<meecrowave-maven-plugin.version>1.2.15</meecrowave-maven-plugin.version>
232+
<xbean.version>4.24</xbean.version>
222233
<opennlp.opennlp-tools.version>1.8.4</opennlp.opennlp-tools.version>
223234
<pulsar-client.version>2.1.1-incubating</pulsar-client.version>
224235
<zookeeper.version>3.4.11</zookeeper.version>

apache-poi-3/pom.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,21 @@
6464
<artifactId>jxl</artifactId>
6565
<version>${jxl.version}</version>
6666
</dependency>
67+
<dependency>
68+
<groupId>com.deepoove</groupId>
69+
<artifactId>poi-tl</artifactId>
70+
<version>${poitl.version}</version>
71+
</dependency>
72+
<dependency>
73+
<groupId>ch.qos.logback</groupId>
74+
<artifactId>logback-classic</artifactId>
75+
<version>${logback-classic.version}</version>
76+
</dependency>
77+
<dependency>
78+
<groupId>ch.qos.logback</groupId>
79+
<artifactId>logback-core</artifactId>
80+
<version>${logback-core.version}</version>
81+
</dependency>
6782
</dependencies>
6883

6984
<properties>
@@ -73,6 +88,9 @@
7388
<xmlbeans.version>5.2.0</xmlbeans.version>
7489
<fastexcel.version>0.17.0</fastexcel.version>
7590
<jxl.version>2.6.12</jxl.version>
91+
<poitl.version>1.12.2</poitl.version>
92+
<logback-classic.version>1.5.6</logback-classic.version>
93+
<logback-core.version>1.5.6</logback-core.version>
7694
</properties>
7795

7896
</project>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.baeldung.wordtemplate;
2+
3+
public class Address {
4+
private String addr;
5+
public Address(String addr) {
6+
this.addr = addr;
7+
}
8+
9+
public String getAddr() {
10+
return addr;
11+
}
12+
13+
public void setAddr(String addr) {
14+
this.addr = addr;
15+
}
16+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.baeldung.wordtemplate;
2+
3+
public class Person {
4+
5+
private String name;
6+
private int age;
7+
public String getName() {
8+
return name;
9+
}
10+
public void setName(String name) {
11+
this.name = name;
12+
}
13+
public int getAge() {
14+
return age;
15+
}
16+
public void setAge(int age) {
17+
this.age = age;
18+
}
19+
public Person(String name, int age) {
20+
super();
21+
this.name = name;
22+
this.age = age;
23+
}
24+
25+
}

0 commit comments

Comments
 (0)