导航:首页 > 编程语言 > java判断数组包含

java判断数组包含

发布时间:2022-03-13 02:01:41

java中怎么判断一个字符串数组中包含某个字符或字符串

packagetest;

publicclassTest{

publicstaticvoidmain(String[]args){

Stringstr="ab";

System.out.println(isStr(str).toString());

}


/**

*判断一个字符串数组中包含某个字符或字符串:返回一个boolean:参数判断的字符

*1.定义一个字符串数组

*2.遍历这个数组

*3.判断要指定的字符串是否包含在字符串数组内

*4.如果包含返回true,否则返回false

*/

publicstaticBooleanisStr(Stringstr){

Stringarray[]={"a","b","c","hello"};

for(inti=0;i<array.length;i++){

if(str.equals(array[i])){

returntrue;

}

}

returnfalse;

}

}

❷ 在java中怎么判断一个数组包含另一个数组

双循环,把数组中的每一个值都拿来做比较、判断!!1

public static boolean containArray(int[] a, int[] b) {

boolean flag = false;

int k = 0;

/**

* 统计b中包含a中的元素是否与a的元素个数相同

*/

if (a.length < b.length) {

for (int i = 0; i < a.length; i++) {

for (int j = 0; j < b.length; j++) {

if (a[i] == b[j]) {

k++;

System.out.println(a[i] +"/"+ b[j]);

continue;

}

}

}

}

if (k == a.length) 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 ration = endTime - startTime;
System.out.println("list方式: " + ration / 1000000);

//转换成set方式
startTime = System.currentTimeMillis();
for (int i = 0; i < times; i++) {
BySet(arr, target);
}
endTime = System.currentTimeMillis();
ration = endTime - startTime;
System.out.println("set方式: " + ration / 1000000);

//直接循环方式
startTime = System.currentTimeMillis();
for (int i = 0; i < times; i++) {
ByForLoop(arr, target);
}
endTime = System.currentTimeMillis();
ration = endTime - startTime;
System.out.println("循环方式: " + ration / 1000000);

//二分法查找
startTime = System.currentTimeMillis();
for (int i = 0; i < times; i++) {
ByArraysBinarySearch(arr, target);
}
endTime = System.currentTimeMillis();
ration = endTime - startTime;
System.out.println("二分法查找: " + ration / 1000000);
}
public static boolean ByList(String[] arr, String targetValue) {
return Arrays.asList(arr).contains(targetValue);
}
public static boolean BySet(String[] arr, String targetValue) {
Set<String> set = new HashSet<String>(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> List<T> 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 a=0;
int[] str;
str= new int[5];

for(int 1=0;i>str.length();i++){
if(str[i]==a){
system.out.print("该数组含有a这个数字");

}

}

❺ Java中数组是否包含某些元素

有两种方法可以判断数组是否包含元素:

方法1, 将数组转换为list,然后使用list的contains方法来判断:

Arrays.asList(...).contains(...)

方法2,遍历数组判断:

❻ java判断一个数组是否含有该数字

可以把数组转成list,利用list的contains方法来判断
Integer[]arr=newInteger[]{1,2,3,4};

List<Integer>list=Arrays.asList(arr);

if(list.contains(5)){

System.out.println("包含");

}else{

System.out.println("不包含");

}

❼ java判断数组中是否包含


importjava.util.Arrays;

publicclassTest_Array{

publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub

int[]test={1,6,3,8,9,2,5};
Arrays.sort(test);//首先对数组排序
intresult=Arrays.binarySearch(test,5);//在数组中搜索是否含有5
System.out.println(result);//这里的结果是3

}
}

上面是一种办法 当然办法还多 比如你还可以把它 转成 list容器 然后调用 contains方法

甚至你可以自己封装个方法 循环一遍...

❽ java如何判断数组中是否包含某元素

这个问题,首先要将string数组转换成list集合,然后判断list集合中是否存在
public static void main(String[] args) {
//定义数组
String aa []={"timo","kainan","naer","lanbo"};
//数组转换成list
List<String> list=Arrays.asList(aa);
if(list.contains("timo")){
System.out.println("有提莫");
}else{
System.out.println("没有提莫");
}
}

❾ java中怎么判断一个字符串数组中包含某个字符或字

可以用contains()这个方法,判断一个字符串是否包含另一个字符串。
可以用repalce()这个方法,把想删除的字符替换成空。

public class Test {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "1111abcdefe";
if(s2.contains(s1)){
System.out.println("s2包含了s1");
//删掉s1
s2 = s2.replace(s2.substring(s2.indexOf(s1), s2.length()), "");
System.out.println(s2);
}else{
System.out.println("s2不包含s1");
}
}
}

❿ 在Java中,如何检测一个数组中是否包含某一个数据

在Java中,检测一个数组是否包含某一个数据,通常有四种方法:

(1)for循环

(2)转换为List,调用Arrays.asList(arr).contains方法

(3)使用Set

(4)使用Arrays.binarySearch()方法

下面为上述四种方法的具体代码实现:

1、使用for循环

public static boolean useLoop(String[] arr, String targetValue) {

for (String s : arr) {

if (s.equals(targetValue))

return true;

}

return false;

}

阅读全文

与java判断数组包含相关的资料

热点内容
优信二手车解压后过户 浏览:62
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1003
命令zpa 浏览:286
python编译器小程序 浏览:945
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:593
安卓卸载组件应用怎么安装 浏览:913
使用面向对象编程的方式 浏览:339
程序员项目经理的年终总结范文 浏览:929
内衣的加密设计用来干嘛的 浏览:433
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:401
梦幻端游长安地图互通源码 浏览:746
电脑本地文件如何上传服务器 浏览:313