Skip to content

Commit 8886e09

Browse files
authored
style: include OCP_OVERLY_CONCRETE_PARAMETER (#5833)
1 parent 3af4cfd commit 8886e09

28 files changed

+46
-33
lines changed

spotbugs-exclude.xml

-3
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@
8787
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
8888
</Match>
8989
<!-- fb-contrib -->
90-
<Match>
91-
<Bug pattern="OCP_OVERLY_CONCRETE_PARAMETER" />
92-
</Match>
9390
<Match>
9491
<Bug pattern="LSC_LITERAL_STRING_COMPARISON" />
9592
</Match>

src/main/java/com/thealgorithms/backtracking/CrosswordSolver.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.backtracking;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45
import java.util.List;
56

67
/**
@@ -95,7 +96,7 @@ public static void removeWord(char[][] puzzle, String word, int row, int col, bo
9596
* @param words The list of words to be placed.
9697
* @return true if the crossword is solved, false otherwise.
9798
*/
98-
public static boolean solveCrossword(char[][] puzzle, List<String> words) {
99+
public static boolean solveCrossword(char[][] puzzle, Collection<String> words) {
99100
// Create a mutable copy of the words list
100101
List<String> remainingWords = new ArrayList<>(words);
101102

src/main/java/com/thealgorithms/datastructures/graphs/AStar.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public int getEstimated() {
9494
}
9595

9696
// Initializes the graph with edges defined in the input data
97-
static void initializeGraph(Graph graph, ArrayList<Integer> data) {
97+
static void initializeGraph(Graph graph, List<Integer> data) {
9898
for (int i = 0; i < data.size(); i += 4) {
9999
graph.addEdge(new Edge(data.get(i), data.get(i + 1), data.get(i + 2)));
100100
}

src/main/java/com/thealgorithms/datastructures/graphs/EdmondsBlossomAlgorithm.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ private EdmondsBlossomAlgorithm() {
3030
* @param vertexCount The number of vertices in the graph.
3131
* @return A list of matched pairs of vertices.
3232
*/
33-
public static List<int[]> maximumMatching(List<int[]> edges, int vertexCount) {
33+
public static List<int[]> maximumMatching(Iterable<int[]> edges, int vertexCount) {
3434
List<List<Integer>> graph = new ArrayList<>(vertexCount);
3535

3636
// Initialize each vertex's adjacency list.

src/main/java/com/thealgorithms/datastructures/lists/MergeSortedArrayList.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.datastructures.lists;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45
import java.util.List;
56

67
/**
@@ -38,7 +39,7 @@ public static void main(String[] args) {
3839
* @param listB the second list to merge
3940
* @param listC the result list after merging
4041
*/
41-
public static void merge(List<Integer> listA, List<Integer> listB, List<Integer> listC) {
42+
public static void merge(List<Integer> listA, List<Integer> listB, Collection<Integer> listC) {
4243
int pa = 0;
4344
/* the index of listA */
4445
int pb = 0;

src/main/java/com/thealgorithms/geometry/ConvexHull.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.geometry;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45
import java.util.Collections;
56
import java.util.Comparator;
67
import java.util.HashSet;
@@ -89,7 +90,7 @@ public static List<Point> convexHullRecursive(List<Point> points) {
8990
return result;
9091
}
9192

92-
private static void constructHull(List<Point> points, Point left, Point right, Set<Point> convexSet) {
93+
private static void constructHull(Collection<Point> points, Point left, Point right, Set<Point> convexSet) {
9394
if (!points.isEmpty()) {
9495
Point extremePoint = null;
9596
int extremePointDistance = Integer.MIN_VALUE;

src/main/java/com/thealgorithms/maths/CircularConvolutionFFT.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.maths;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45

56
/**
67
* Class for circular convolution of two discrete signals using the convolution
@@ -19,7 +20,7 @@ private CircularConvolutionFFT() {
1920
* @param x The signal to be padded.
2021
* @param newSize The new size of the signal.
2122
*/
22-
private static void padding(ArrayList<FFT.Complex> x, int newSize) {
23+
private static void padding(Collection<FFT.Complex> x, int newSize) {
2324
if (x.size() < newSize) {
2425
int diff = newSize - x.size();
2526
for (int i = 0; i < diff; i++) {

src/main/java/com/thealgorithms/maths/ConvolutionFFT.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.maths;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45

56
/**
67
* Class for linear convolution of two discrete signals using the convolution
@@ -19,7 +20,7 @@ private ConvolutionFFT() {
1920
* @param x The signal to be padded.
2021
* @param newSize The new size of the signal.
2122
*/
22-
private static void padding(ArrayList<FFT.Complex> x, int newSize) {
23+
private static void padding(Collection<FFT.Complex> x, int newSize) {
2324
if (x.size() < newSize) {
2425
int diff = newSize - x.size();
2526
for (int i = 0; i < diff; i++) {

src/main/java/com/thealgorithms/maths/FFT.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.maths;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45
import java.util.Collections;
56

67
/**
@@ -274,7 +275,7 @@ private static int reverseBits(int num, int log2n) {
274275
*
275276
* @param x The ArrayList to be padded.
276277
*/
277-
private static void paddingPowerOfTwo(ArrayList<Complex> x) {
278+
private static void paddingPowerOfTwo(Collection<Complex> x) {
278279
int n = 1;
279280
int oldSize = x.size();
280281
while (n < oldSize) {

src/main/java/com/thealgorithms/maths/FFTBluestein.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.maths;
22

33
import java.util.ArrayList;
4+
import java.util.List;
45

56
/**
67
* Class for calculating the Fast Fourier Transform (FFT) of a discrete signal
@@ -25,7 +26,7 @@ private FFTBluestein() {
2526
* IFFT of signal x.
2627
* @param inverse True if you want to find the inverse FFT.
2728
*/
28-
public static void fftBluestein(ArrayList<FFT.Complex> x, boolean inverse) {
29+
public static void fftBluestein(List<FFT.Complex> x, boolean inverse) {
2930
int n = x.size();
3031
int bnSize = 2 * n - 1;
3132
int direction = inverse ? -1 : 1;

src/main/java/com/thealgorithms/maths/Gaussian.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package com.thealgorithms.maths;
22

33
import java.util.ArrayList;
4+
import java.util.List;
45

56
public final class Gaussian {
67
private Gaussian() {
78
}
89

9-
public static ArrayList<Double> gaussian(int matSize, ArrayList<Double> matrix) {
10+
public static ArrayList<Double> gaussian(int matSize, List<Double> matrix) {
1011
int i;
1112
int j = 0;
1213

src/main/java/com/thealgorithms/maths/NthUglyNumber.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.ArrayList;
44
import java.util.Arrays;
5+
import java.util.Map;
56
import org.apache.commons.lang3.tuple.MutablePair;
67

78
/**
@@ -64,7 +65,7 @@ private void updatePositions() {
6465
}
6566
}
6667

67-
private long computeCandidate(final MutablePair<Integer, Integer> entry) {
68+
private long computeCandidate(final Map.Entry<Integer, Integer> entry) {
6869
return entry.getKey() * uglyNumbers.get(entry.getValue());
6970
}
7071

src/main/java/com/thealgorithms/misc/MedianOfMatrix.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public final class MedianOfMatrix {
1313
private MedianOfMatrix() {
1414
}
1515

16-
public static int median(List<List<Integer>> matrix) {
16+
public static int median(Iterable<List<Integer>> matrix) {
1717
// Flatten the matrix into a 1D list
1818
List<Integer> linear = new ArrayList<>();
1919
for (List<Integer> row : matrix) {

src/main/java/com/thealgorithms/misc/PalindromeSinglyLinkedList.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.thealgorithms.misc;
22

3-
import com.thealgorithms.datastructures.lists.SinglyLinkedList;
43
import java.util.Stack;
54

65
/**
@@ -15,8 +14,8 @@ public final class PalindromeSinglyLinkedList {
1514
private PalindromeSinglyLinkedList() {
1615
}
1716

18-
public static boolean isPalindrome(final SinglyLinkedList linkedList) {
19-
Stack<Integer> linkedListValues = new Stack<>();
17+
public static boolean isPalindrome(final Iterable linkedList) {
18+
var linkedListValues = new Stack<>();
2019

2120
for (final var x : linkedList) {
2221
linkedListValues.push(x);

src/main/java/com/thealgorithms/others/KochSnowflake.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.io.File;
88
import java.io.IOException;
99
import java.util.ArrayList;
10+
import java.util.List;
1011
import javax.imageio.ImageIO;
1112

1213
/**
@@ -125,7 +126,7 @@ public static BufferedImage getKochSnowflake(int imageWidth, int steps) {
125126
* applied.
126127
* @return The transformed vectors after the iteration-step.
127128
*/
128-
private static ArrayList<Vector2> iterationStep(ArrayList<Vector2> vectors) {
129+
private static ArrayList<Vector2> iterationStep(List<Vector2> vectors) {
129130
ArrayList<Vector2> newVectors = new ArrayList<Vector2>();
130131
for (int i = 0; i < vectors.size() - 1; i++) {
131132
Vector2 startVector = vectors.get(i);

src/main/java/com/thealgorithms/scheduling/PreemptivePriorityScheduling.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.thealgorithms.devutils.entities.ProcessDetails;
44
import java.util.ArrayList;
5+
import java.util.Collection;
56
import java.util.Comparator;
67
import java.util.List;
78
import java.util.PriorityQueue;
@@ -15,7 +16,7 @@ public class PreemptivePriorityScheduling {
1516
protected final List<ProcessDetails> processes;
1617
protected final List<String> ganttChart;
1718

18-
public PreemptivePriorityScheduling(List<ProcessDetails> processes) {
19+
public PreemptivePriorityScheduling(Collection<ProcessDetails> processes) {
1920
this.processes = new ArrayList<>(processes);
2021
this.ganttChart = new ArrayList<>();
2122
}

src/main/java/com/thealgorithms/scheduling/SJFScheduling.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.thealgorithms.devutils.entities.ProcessDetails;
44
import java.util.ArrayList;
5+
import java.util.List;
56

67
/**
78
* Implementation of Shortest Job First Algorithm: The algorithm allows the waiting process with the
@@ -87,7 +88,7 @@ public void scheduleProcesses() {
8788
* @return returns the process' with the shortest burst time OR NULL if there are no ready
8889
* processes
8990
*/
90-
private ProcessDetails findShortestJob(ArrayList<ProcessDetails> readyProcesses) {
91+
private ProcessDetails findShortestJob(List<ProcessDetails> readyProcesses) {
9192
if (readyProcesses.isEmpty()) {
9293
return null;
9394
}

src/main/java/com/thealgorithms/scheduling/diskscheduling/SSFScheduling.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.scheduling.diskscheduling;
22

33
import java.util.ArrayList;
4+
import java.util.Collection;
45
import java.util.List;
56

67
/**
@@ -24,7 +25,7 @@ public SSFScheduling(int currentPosition) {
2425
this.currentPosition = currentPosition;
2526
}
2627

27-
public List<Integer> execute(List<Integer> requests) {
28+
public List<Integer> execute(Collection<Integer> requests) {
2829
List<Integer> result = new ArrayList<>(requests);
2930
List<Integer> orderedRequests = new ArrayList<>();
3031

src/main/java/com/thealgorithms/sorts/BucketSort.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ private <T extends Comparable<T>> void distributeElementsIntoBuckets(T[] array,
7979
* @param <T> the type of elements in the array
8080
* @return the sorted array
8181
*/
82-
private <T extends Comparable<T>> T[] concatenateBuckets(List<List<T>> buckets, T[] array) {
82+
private <T extends Comparable<T>> T[] concatenateBuckets(Iterable<List<T>> buckets, T[] array) {
8383
int index = 0;
8484
for (List<T> bucket : buckets) {
8585
Collections.sort(bucket);

src/main/java/com/thealgorithms/sorts/PatienceSort.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ private static <T extends Comparable<T>> List<List<T>> formPiles(final T[] array
7272
* @param <T> the type of elements in the piles, must be comparable
7373
* @return a priority queue containing the top element of each pile
7474
*/
75-
private static <T extends Comparable<T>> PriorityQueue<PileNode<T>> mergePiles(final List<List<T>> piles) {
75+
private static <T extends Comparable<T>> PriorityQueue<PileNode<T>> mergePiles(final Iterable<List<T>> piles) {
7676
PriorityQueue<PileNode<T>> pq = new PriorityQueue<>();
7777
for (List<T> pile : piles) {
7878
pq.add(new PileNode<>(pile.removeLast(), pile));

src/main/java/com/thealgorithms/sorts/PigeonholeSort.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ private static void populatePigeonHoles(int[] array, List<List<Integer>> pigeonH
7878
* @param array the array to be sorted
7979
* @param pigeonHoles the populated pigeonholes
8080
*/
81-
private static void collectFromPigeonHoles(int[] array, List<List<Integer>> pigeonHoles) {
81+
private static void collectFromPigeonHoles(int[] array, Iterable<List<Integer>> pigeonHoles) {
8282
int index = 0;
8383
for (final var pigeonHole : pigeonHoles) {
8484
for (final int element : pigeonHole) {

src/main/java/com/thealgorithms/sorts/TreeSort.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ private <T extends Comparable<T>> T[] doTreeSortArray(T[] unsortedArray) {
5151
return unsortedArray;
5252
}
5353

54-
private <T extends Comparable<T>> List<T> doTreeSortList(List<T> unsortedList) {
54+
private <T extends Comparable<T>> List<T> doTreeSortList(Iterable<T> unsortedList) {
5555
// create a generic BST tree
5656
BSTRecursiveGeneric<T> tree = new BSTRecursiveGeneric<T>();
5757

src/main/java/com/thealgorithms/strings/WordLadder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.thealgorithms.strings;
22

3+
import java.util.Collection;
34
import java.util.HashSet;
45
import java.util.LinkedList;
5-
import java.util.List;
66
import java.util.Queue;
77
import java.util.Set;
88

@@ -22,7 +22,7 @@ private WordLadder() {
2222
* @param wordList a list of words that can be used in the transformation sequence
2323
* @return the number of words in the shortest transformation sequence, or 0 if no such sequence exists
2424
*/
25-
public static int ladderLength(String beginWord, String endWord, List<String> wordList) {
25+
public static int ladderLength(String beginWord, String endWord, Collection<String> wordList) {
2626
Set<String> wordSet = new HashSet<>(wordList);
2727

2828
if (!wordSet.contains(endWord)) {

src/test/java/com/thealgorithms/datastructures/graphs/BoruvkaAlgorithmTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ void testEdgesRange() {
183183
* @param result list of edges in the Minimum Spanning Tree
184184
* @return the total weight of the Minimum Spanning Tree
185185
*/
186-
int computeTotalWeight(final List<BoruvkaAlgorithm.Edge> result) {
186+
int computeTotalWeight(final Iterable<BoruvkaAlgorithm.Edge> result) {
187187
int totalWeight = 0;
188188
for (final var edge : result) {
189189
totalWeight += edge.weight;

src/test/java/com/thealgorithms/datastructures/graphs/EdmondsBlossomAlgorithmTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static org.junit.jupiter.api.Assertions.assertTrue;
66

77
import java.util.Arrays;
8+
import java.util.Collection;
89
import java.util.Collections;
910
import java.util.List;
1011
import org.junit.jupiter.api.Test;
@@ -25,7 +26,7 @@ public class EdmondsBlossomAlgorithmTest {
2526
* @param matching List of matched pairs returned by the algorithm.
2627
* @return A sorted 2D array of matching pairs.
2728
*/
28-
private int[][] convertMatchingToArray(List<int[]> matching) {
29+
private int[][] convertMatchingToArray(Collection<int[]> matching) {
2930
// Convert the list of pairs into an array
3031
int[][] result = matching.toArray(new int[0][]);
3132

src/test/java/com/thealgorithms/misc/WordBoggleTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static org.junit.jupiter.api.Assertions.assertTrue;
55

66
import java.util.Arrays;
7+
import java.util.Collection;
78
import java.util.List;
89
import java.util.stream.Stream;
910
import org.junit.jupiter.api.BeforeEach;
@@ -44,7 +45,7 @@ private static Stream<Arguments> provideTestCases() {
4445

4546
@ParameterizedTest
4647
@MethodSource("provideSpecialCases")
47-
void testBoggleBoardSpecialCases(char[][] specialBoard, String[] words, List<String> expectedWords, String testDescription) {
48+
void testBoggleBoardSpecialCases(char[][] specialBoard, String[] words, Collection<String> expectedWords, String testDescription) {
4849
List<String> result = WordBoggle.boggleBoard(specialBoard, words);
4950
assertEquals(expectedWords.size(), result.size(), "Test failed for: " + testDescription);
5051
assertTrue(expectedWords.containsAll(result), "Test failed for: " + testDescription);

src/test/java/com/thealgorithms/scheduling/PreemptivePrioritySchedulingTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.junit.jupiter.api.Assertions.assertEquals;
44

55
import com.thealgorithms.devutils.entities.ProcessDetails;
6+
import java.util.Collection;
67
import java.util.List;
78
import java.util.stream.Stream;
89
import org.junit.jupiter.params.ParameterizedTest;
@@ -17,7 +18,7 @@
1718
class PreemptivePrioritySchedulingTest {
1819
@ParameterizedTest
1920
@MethodSource("provideProcessesAndExpectedSchedules")
20-
void testPreemptivePriorityScheduling(List<ProcessDetails> processes, List<String> expectedSchedule) {
21+
void testPreemptivePriorityScheduling(Collection<ProcessDetails> processes, List<String> expectedSchedule) {
2122
PreemptivePriorityScheduling scheduler = new PreemptivePriorityScheduling(processes);
2223
scheduler.scheduleProcesses();
2324
assertEquals(expectedSchedule, scheduler.ganttChart);

0 commit comments

Comments
 (0)