❶ 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;
}