Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java updates #1

Open
wants to merge 4 commits into
base: source
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/ArrayAdd.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class ArrayAdd {
public static void main(String[] args) {
List<String> arr = new ArrayList<String>();
List<String> arr = new ArrayList<>();
arr.add("first");
arr.add("second");
System.out.println(arr);
Expand Down
2 changes: 1 addition & 1 deletion code/ArrayConcat.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class ArrayConcat {
public static void main(String[] args) {
List<Integer> arr1 = Arrays.asList(1, 2);
List<Integer> arr2 = Arrays.asList(3, 4);
List<Integer> concated = new ArrayList<Integer>(arr1);
List<Integer> concated = new ArrayList<>(arr1);
concated.addAll(arr2);
System.out.println(concated);
}
Expand Down
6 changes: 1 addition & 5 deletions code/ArrayCount.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
class ArrayCount {
public static void main(String[] args) {
List<Integer> arr = Arrays.asList(1, 11, 111);
int count = 0;
for (int n : arr)
if (n > 10)
count++;
System.out.println(count);
System.out.println(arr.stream().count());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not just count, but filtered count. You should count only those values greater than 10. In Python this looks something like this:

sum(1 for i in arr if i > 10)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I missed that. Some unit tests might've caught it.

}
}
8 changes: 2 additions & 6 deletions code/ArrayDeleteElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,8 @@

class ArrayDeleteElement {
public static void main(String[] args) {
List<String> arr = new LinkedList<String>(Arrays.asList("a", "b", "c"));
Iterator<String> iter = arr.iterator();
while(iter.hasNext()) {
if(iter.next().equalsIgnoreCase("b"))
iter.remove();
}
List<String> arr = new LinkedList<>(Arrays.asList("a", "b", "c"));
arr.removeIf(str -> str.equalsIgnoreCase("b"));
System.out.println(arr);
}
}
8 changes: 1 addition & 7 deletions code/ArrayFind.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,7 @@
class ArrayFind {
public static void main(String[] args) {
List<Integer> arr = Arrays.asList(1, 5, 10, 20);
int first = 0;
for (int n : arr) {
if (n % 2 == 0) {
first = n;
break;
}
}
int first = arr.stream().filter(n -> n % 2 == 0).findFirst().get();
System.out.println(first);
}
}
6 changes: 2 additions & 4 deletions code/ArrayIterate.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import java.util.*;
import java.util.Arrays;

class ArrayIterate {
public static void main(String[] args) {
for (int num : Arrays.asList(1, 2)) {
System.out.println(num);
}
Arrays.asList(1, 2).stream().sequential().forEach(System.out::println);
}
}
7 changes: 3 additions & 4 deletions code/ArrayMap.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import java.util.*;
import java.util.stream.Collectors;

class ArrayMap {
public static void main(String[] args) {
List<Integer> arr = Arrays.asList(1, 5, 10, 20);
List<Integer> mapped = new ArrayList<Integer>();
for (int n : arr)
mapped.add(n * 2);
List<Integer> arr = Arrays.asList(1, 5, 10, 20);
List<Integer> mapped = arr.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(mapped);
}
}
2 changes: 1 addition & 1 deletion code/ArrayMulti.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class ArrayMulti {
public static void main(String[] args) {
List<List<String>> arr = new ArrayList<List<String>>();
List<List<String>> arr = new ArrayList<>();
arr.add(Arrays.asList("first", "second"));
arr.add(Arrays.asList("third", "forth"));
System.out.println(arr.get(1).get(1));
Expand Down
6 changes: 2 additions & 4 deletions code/ArrayReduce.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import java.util.*;
import java.util.stream.IntStream;

class ArrayReduce {
public static void main(String[] args) {
int sum = 0;
for (int n : Arrays.asList(1, 2, 3))
sum += n;
int sum = IntStream.of(1, 2, 3).sum();
System.out.println(sum);
}
}
6 changes: 2 additions & 4 deletions code/ArraySelect.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import java.util.*;
import java.util.stream.Collectors;

class ArraySelect {
public static void main(String[] args) {
List<Integer> arr = Arrays.asList(1, 5, 10, 20);
List<Integer> all = new ArrayList<Integer>();
for (int n : arr)
if (n % 2 == 0)
all.add(n);
List<Integer> all = arr.stream().filter(n -> n % 2 == 0).collect(Collectors.toList());
System.out.println(all);
}
}
10 changes: 2 additions & 8 deletions code/FileRead.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
import java.io.*;
import java.util.stream.Collectors;

class FileRead {
public static void main(String[] args) throws IOException {
String filePath = System.getProperty("user.dir") + "/code/file.txt";
String content;
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
content = sb.toString();
content = br.lines().collect(Collectors.joining(System.lineSeparator()))+System.lineSeparator();
}
System.out.println(content);
}
Expand Down
2 changes: 1 addition & 1 deletion code/HashAdd.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class HashAdd {
public static void main(String[] args) {
Map<String, String> options = new HashMap<String, String>();
Map<String, String> options = new HashMap<>();
options.put("fontSize", "10");
options.put("fontFamily", "Arial");
System.out.println(options);
Expand Down
5 changes: 3 additions & 2 deletions code/LoopFor.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import java.util.stream.IntStream;

class LoopFor {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++)
System.out.println(i + ". Hi");
IntStream.range(1, 3+1).sequential().mapToObj(i -> i + ". Hi").forEach(System.out::println);
}
}
12 changes: 7 additions & 5 deletions code/LoopNext.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import java.util.stream.IntStream;

class LoopNext {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
if (i == 1)
continue;
System.out.println((i + 1) + ". Hi");
}
IntStream.range(0, 3)
.sequential()
.filter(i -> i != 1)
.mapToObj(i -> (i + 1) + ". Hi")
.forEach(System.out::println);
}
}
5 changes: 3 additions & 2 deletions code/LoopTimes.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import java.util.stream.IntStream;

class LoopTimes {
public static void main(String[] args) {
for (int i = 0; i < 3; i++)
System.out.println("Hi");
IntStream.range(0, 3).sequential().mapToObj(i -> "Hi").forEach(System.out::println);
}
}
6 changes: 3 additions & 3 deletions code/LoopUntil.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import java.util.stream.IntStream;

class LoopUntil {
public static void main(String[] args) {
int i = 0;
while (i != 3)
i++;
int i = IntStream.iterate(0, n -> n + 1).filter(n -> n == 3).findFirst().getAsInt();
System.out.println(i);
}
}
13 changes: 6 additions & 7 deletions code/OtherRunCommand.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
import java.io.*;
import java.util.stream.Collectors;

class OtherRunCommand {
public static void main(String[] args) throws IOException, InterruptedException {
String result = "";
final String result;
ProcessBuilder ps = new ProcessBuilder("java", "-version");
ps.redirectErrorStream(true);
Process pr = ps.start();
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null)
result += line + "\n";
pr.waitFor();
in.close();
try (BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()))) {
result = in.lines().collect(Collectors.joining("\n"));
pr.waitFor();
}
System.out.println(result);
}
}
2 changes: 1 addition & 1 deletion code/TypeNullTrueFalse.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public static void main(String[] args) {
String shouldBeNull = null;
System.out.println(shouldBeNull == null);

List<String> arr = new ArrayList<String>();
List<String> arr = new ArrayList<>();
System.out.println(arr.isEmpty());
}
}