String/Object in Array Testing in Java – using Arrays.asLi
- 时间:2020-10-07 14:38:56
- 分类:网络文摘
- 阅读:130 次
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) —
推荐阅读:Influential Cybersecurity Blogger Gets Digitally Attacked Building Relationships with Your Influencers Authorities In Vietnam Arrest Top Blogger For One Criticizing Co The Top Health Bloggers You Should Be Following Mashable Blogger: Owning a Samsung Galaxy Note 7 is Safer Than G 5 Ways to Earn Money from Your Website Singapore Blogger Sentenced To Jail For Social Media Posts Comparing Left and Right Branch of a Complete Binary Tree How to Find Words That Can Be Formed by Characters? How to Compute the Maximum Difference Between Node and Ancestor?
- 评论列表
-
- 添加评论