String/Object in Array Testing in Java – using Arrays.asLi
- 时间:2020-10-07 14:38:56
- 分类:网络文摘
- 阅读:150 次
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) —
推荐阅读:Design a Moving Average Class for Data Stream 3 Ways to Protect Your Website from Negative SEO Algorithm to Check if A String Matches a Pattern How to Get Free HTTPS Certificates via acme.sh? Algorithm to Replace All ?’s to Avoid Consecutive Repeatin How Does C++ STL min_element, max_element, minmax_element work f Using the External Fan to Cool the Hot AMD Radeon HD 6700 Graphi Algorithms to Compute the Dot Product of Two Sparse Vectors Algorithms to Compute the Largest Time for Given Digits How to Use Hash Map to Count the Frequencies of Values and Itera
- 评论列表
-
- 添加评论