String/Object in Array Testing in Java – using Arrays.asLi
- 时间:2020-10-07 14:38:56
- 分类:网络文摘
- 阅读:135 次
This tutorial presents three ways of testing if a given element (integer, doubles, objects, strings) is in a given Array using Java programming language.

Java
Java’s Naive Implementation of Element (String) In Array Tests using Generic
In Java, if we want to test a given element in array, we can implement a naive version (let’s take String for example):
1 2 3 4 5 6 | private static boolean stringInArray1(String str, String[] arr) { for (var x: arr) { if (x.equals(str)) return true; } return false; } |
private static boolean stringInArray1(String str, String[] arr) {
for (var x: arr) {
if (x.equals(str)) return true;
}
return false;
}If we want to go with generic type, we can of course:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package com.helloacm; public class Main<T> { private boolean inArray(T val, T[] arr) { for (T x: arr) { if (x.equals(val)) return true; } return false; } public static void main(String[] args) { var arr = new String[] {"a", "ab", "abc", "abcde"}; var test = new Main<String>(); System.out.println(test.inArray(null, arr)); System.out.println(test.inArray("adfasd", arr)); System.out.println(test.inArray("a", arr)); } } |
package com.helloacm;
public class Main<T> {
private boolean inArray(T val, T[] arr) {
for (T x: arr) {
if (x.equals(val)) return true;
}
return false;
}
public static void main(String[] args) {
var arr = new String[] {"a", "ab", "abc", "abcde"};
var test = new Main<String>();
System.out.println(test.inArray(null, arr));
System.out.println(test.inArray("adfasd", arr));
System.out.println(test.inArray("a", arr));
}
}In-Array Test using Arrays.AsList().contains
We can convert the array type to List using Arrays.asList then in this case, we can simply use its contain method:
1 2 3 | private boolean stringInArray1(T val, T[] arr) { return Arrays.asList(arr).contains(val); } |
private boolean stringInArray1(T val, T[] arr) {
return Arrays.asList(arr).contains(val);
}Parallel version of Element-In-Array Tests using Arrays.Stream
Even better, we can convert the array to stream, then make a parallel version of the in-array test. It is cool, and it’s potentially faster!
1 2 3 4 5 | private boolean stringInArray1(T val, T[] arr) { return Arrays.stream(arr). parallel(). anyMatch(s -> s.equals(val)); } |
private boolean stringInArray1(T val, T[] arr) {
return Arrays.stream(arr).
parallel().
anyMatch(s -> s.equals(val));
}–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:How to Design Underground System using Several Hash Maps? How to Remove Zero Sum Consecutive Nodes from Linked List using Depth First Search and Breadth First Search Algorithm to Open th Dynamic Programming (Memoization) to Sort Integers by The Power Applicable Accounting Software For Churches How to Balance a Binary Search Tree using Recursive Inorder Trav Finding the Lucky Numbers in a Matrix Factory Design Pattern in Object Oriented Design Programming Algorithm to Find Minimum Removals to Make Valid Parentheses Greedy Algorithm to Validate Stack Sequences
- 评论列表
-
- 添加评论