導航:首頁 > 編程語言 > java數組是否存在

java數組是否存在

發布時間:2022-12-24 04:04:00

java 怎麼判斷數組元素是否存在

Object[]s=newObject[8];
if(s[3]==null){
System.out.println("數組第四個元素為空");
}

通過數組下標判斷數組元素是否為null判斷

❷ 判斷字元串是否存在數組中java編程

import java.util.Scanner;
public class test{
private static void input(){
int num;
boolean bFlage = false;
String str[] = new String[10000],strTemp;
try {//輸入的如果不是數字會有異常(運行中的錯誤),所以用try...catch語句
//確定字元串數組的元素個數
System.out.print("請輸入字元串數組的數量:");
num = new Scanner(System.in).nextInt();
if (num <= 0 || num >= 10000) {
System.out.println("你輸入的數字不在判斷范圍之內!\n");
input();
}
//給字元串數組寫入字元串元素
for (int i = 0; i < num; i++) {
System.out.print("請輸入第"+(i+1)+"個字元串:");
str[i] = new Scanner(System.in).next();
}
//輸入對比的字元串
System.out.print("請輸入需要比對的字元串:");
strTemp = new Scanner(System.in).next();
//字元串比對
for (int i = 0; i < num; i++) {
if (strTemp.equals(str[i])) {
bFlage = true;
}
}
//輸出比對結果
if (bFlage==true) {
System.out.println("字元串"+strTemp+"包含在該數組中!");
}else{
System.out.println("字元串"+strTemp+"不包含在該數組中!");
}
} catch (Exception e) {
System.out.println("你輸入的不是數字!\n\n");
input();
}
}
public static void main(String[] args) {
input();
}
}

❸ 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中怎麼判斷一個字元串是否存在數組中

有2種方法,第一種就是直接循環數組,逐個進行判斷。第二種就是先將數組轉換成list,再使用list的contains方法進行匹配判斷。

String[] arrStr = {"aser", "abc"};
for (String str : arrStr) {
if (str.contains("abc")) {
return true;
}
}
public static void main(String[] args) {
String aa []={"aaa","bbb","ccc","ddd"};
List<String> list=Arrays.asList(aa);
if(list.contains("aa")){
System.out.println("有aa");
}else{
System.out.println("沒有aa");
}
}

❺ java中的數組存在哪

最後那個列印是bb那個方法裡面調換了值x=a[0];a[0]=b[0];b[0]=x;,先是100等於x,然後是吧200賦值給了a[0],接下來是吧x=100賦給了b[0],所以此時的a[0]=200,b[0]=100
數組分為堆上數組和棧上數組,x=a[0];x在堆上,a[0]在棧上.

❻ 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中,如何檢測一個數組中是否包含某一個數據

在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里判斷數組里是否存在這個數,幫我看看,總是報錯

這段代碼的主要問題是最後判斷這個數字是否存在於數組中.

比如 8是否存在於 2 4 6 8 ...的數組中.

那麼用8依次和數組的元素進行比較, 只要有一次相同就可以認為在數組中了

參考代碼

importjava.util.Scanner;

publicclassDate1_19{
publicstaticvoidmain(String[]args){
intarrt[]={8,4,2,1,23,344,12};
//循環輸出數列的值
//求數列中所有數值的和
//猜數,任意輸入一個數,判斷數列中是否包含此數
for(inti=0;i<arrt.length;i++){
System.out.print(arrt[i]+",");
}
System.out.println();
intsum=0;
for(inti=0;i<arrt.length;i++){
sum+=arrt[i];
}
System.out.println(sum);

Scannerinput=newScanner(System.in);//input要放到dowhile的外面比較好
do{
doublea=input.nextDouble();//變數a放到for循環外面,否則會根據數組的長度,循環多次讀取輸入
booleanflag=false;//設置一個標記
for(inti=0;i<arrt.length;i++){
if(a==arrt[i]){//如果相等
flag=true;//那麼標記設置為true,代表包含了該元素
break;//跳出for循環,因為該數字已經在數組中了,就不用一直循環,繼續判斷了
}
}
if(flag){
System.out.println("Yes");
}else{
System.out.println("No");
}
}while(true);
}
}

運行測試

8,4,2,1,23,344,12,
394
8
Yes
4
Yes
3
No
1.5
No
2
Yes

❾ 用數組的方法輸入一個數判斷此數是否在數組內用JAVA怎麼做,急用!!!!!!!!!!!!!

import java.util.Scanner; //定義輸入類;
public class Main {

public static void main(String[] args) {
Scanner Sc = new Scanner(System.in);//掃描鍵入信息;
int[] shuZu=new int[]{8,4,2,1,23,344,12};//定義數組;
System.out.print("請輸入一個數:");
int jianRu=Sc.nextInt(); //獲取鍵入信息;

for (int i= 0; i<shuZu.length ; i++) {
if (jianRu == shuZu[j]) {
System.out.println("恭喜你,猜對了,該數存在於該數組內");
break;} //鍵入數與數組數逐個比較,如果相等,輸出文字後,中止,如果不相等進入下一個次循環。
if(i==shuZu.length-1&&jianRu!=shuZu[i]){
System.out.println("抱歉,該數不存在於該數組"); //進行判斷,此次判斷與數組中最後一個數作比較,輸出文字
} }

❿ java怎麼判斷一個元素是否在數組中存在

public boolean hasElement(String[] array,String element) {
boolean flag=false;
int i;
int length=array.length;
for(i=0;i<length;i++) {
if(array[i].equals(element)) {
flag=true;
}
}
return flag;
}
---------------------分割線------------------
簡單易懂,形參可以替換成你想要的數據類型。

閱讀全文

與java數組是否存在相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163