「java判断元素在数组中」java判断元素是否在数组中
本篇文章给大家谈谈java判断元素在数组中,以及java判断元素是否在数组中对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中如何高效的判断数组中是否包含某个元素
- 2、java怎么判断一个元素是否在数组中存在
- 3、Java中数组判断元素存在几种方式比较详解
- 4、在JAVA中如何判断一个元素是否在数组中
- 5、详解Java中数组判断元素存在几种方式比较
- 6、java如何判断数组中是否包含某元素
java中如何高效的判断数组中是否包含某个元素
可以使用如下的代码:
Arrays.asList(yourArray).contains(yourValue)
但这并不适用于基本数据类型的数组。
在Java8之后,你可以使用Stream来检测int,double,long类型的数组是否包含某个数值。(分别用IntStream, DoubleStream和LongStream),例如:
int[] a = {1,2,3,4};
boolean contains = IntStream.of(a).anyMatch(x - x == 4);
对于数组的一些操作,你可以上秒秒学了解相关的知识。
java怎么判断一个元素是否在数组中存在
public boolean hasElement(String[] array,String element) {
boolean flag=false;
int i;
int length=array.length;
for(i=0;ilength;i++) {
if(array[i].equals(element)) {
flag=true;
}
}
return flag;
}
---------------------分割线------------------
简单易懂,形参可以替换成你想要的数据类型。
Java中数组判断元素存在几种方式比较详解
直接上代码:
package test.contain.lishaojie;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class TestContain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] arr = new String[] { "DD", "CC", "DD", "FF", "KK"};
String target ="A";
int times = 1000;//次数
//转换成list方式
long startTime = System.currentTimeMillis();
for (int i = 0; i times; i++) {
ByList(arr, target);
}
long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
System.out.println("list方式: " + duration / 1000000);
//转换成set方式
startTime = System.currentTimeMillis();
for (int i = 0; i times; i++) {
BySet(arr, target);
}
endTime = System.currentTimeMillis();
duration = endTime - startTime;
System.out.println("set方式: " + duration / 1000000);
//直接循环方式
startTime = System.currentTimeMillis();
for (int i = 0; i times; i++) {
ByForLoop(arr, target);
}
endTime = System.currentTimeMillis();
duration = endTime - startTime;
System.out.println("循环方式: " + duration / 1000000);
//二分法查找
startTime = System.currentTimeMillis();
for (int i = 0; i times; i++) {
ByArraysBinarySearch(arr, target);
}
endTime = System.currentTimeMillis();
duration = endTime - startTime;
System.out.println("二分法查找: " + duration / 1000000);
}
public static boolean ByList(String[] arr, String targetValue) {
return Arrays.asList(arr).contains(targetValue);
}
public static boolean BySet(String[] arr, String targetValue) {
SetString set = new HashSetString(Arrays.asList(arr));
return set.contains(targetValue);
}
public static boolean ByForLoop(String[] arr, String targetValue) {
for(String s: arr){
if(s.equals(targetValue))
return true;
}
return false;
}
public static boolean ByArraysBinarySearch(String[] arr, String targetValue) {
int a = Arrays.binarySearch(arr, targetValue);
if(a 0)
return true;
else
return false;
}
}
运行结果如下:
list方式: 5
set方式: 22
循环方式: 2
二分法查找: 3
经过大量数据测试循环方式效率最高,其次是二分法,最后是list,和set因为因为将数组压入Collection类型中,首先要将数组元素遍历一遍,然后再使用集合类做其他操作。但是list方式明显要比set方式快很多,这是为什么呢?直接看代码:首先
@SafeVarargs
@SuppressWarnings("varargs")
public static T ListT asList(T... a) {
return new ArrayList(a);
}
返回的是ArrayList所以set方式还要进行一次操作将ArrayList转换成set,
public HashSet(Collection? extends E c) {
map = new HashMap(Math.max((int) (c.size()/.75f) + 1, 16));
addAll(c);
}
之一addAll方法:
public boolean addAll(Collection? extends E c) {
boolean modified = false;
for (E e : c)
if (add(e))
modified = true;
return modified;
}
又一次进行了选环,所以效率比较低,binggo
在JAVA中如何判断一个元素是否在数组中
那要看数组元素是干什么了
比如是基础类型,如int,long
byte
等等
,那肯定都不是空,默认为0
如果是Object,直接判断就可以了,比如
Object
[]
objs
=
new
Object[2];if(objs[0]
==
null)
{
//这样处理就好了}
详解Java中数组判断元素存在几种方式比较
判断一个元素在集合中很容易,只需要遍历这个集合,然后与每个值进行比较,如果有相等的,那么就存在在集合中,然后反过来,就是不存在集合中的。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
java如何判断数组中是否包含某元素
这个问题,首先要将string数组转换成list集合,然后判断list集合中是否存在
public static void main(String[] args) {
//定义数组
String aa []={"timo","kainan","naer","lanbo"};
//数组转换成list
ListString list=Arrays.asList(aa);
if(list.contains("timo")){
System.out.println("有提莫");
}else{
System.out.println("没有提莫");
}
}
关于java判断元素在数组中和java判断元素是否在数组中的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。