我工作的對象數組我能夠得到,直到元素沒有exists.For例如元素的如何查找對象數組是否包含元素?
Object[] elements={"Apple","Orange","Grape","Mango","Banana"};
我能夠獲得通過指數的元素,但是當我到了超越指數長度。例如,在這裏我們有5個元素最後將被元素[4]訪問,但是如何檢查元素[5],元素[6]是否存在
我工作的對象數組我能夠得到,直到元素沒有exists.For例如元素的如何查找對象數組是否包含元素?
Object[] elements={"Apple","Orange","Grape","Mango","Banana"};
我能夠獲得通過指數的元素,但是當我到了超越指數長度。例如,在這裏我們有5個元素最後將被元素[4]訪問,但是如何檢查元素[5],元素[6]是否存在
例如,
Object[] elements = {"Apple","Orange","Grape","Mango","Banana"};
Object obj = null;
int elementsLength = elements.length;
int i = 10;
if (i < elementsLength) {
obj = elements[i];
} else {
System.out.println("Oops!.. Out of index!");
}
if (obj != null) {
System.out.println(obj);
}
你的例子比需要更復雜。例如,在將'i'設置爲'10'之前用'0'初始化並聲明一個變量'elementsLength',這個變量只能用於一次...... – tuergeist 2011-12-17 18:13:09
@tuergeist是的,我知道。因爲它是具有附加功能的準備好員工的示例..;) – 2011-12-18 12:05:11
使用elements.length
來查找數組中元素的數量。
在Java中,數組是對象。該對象包含名爲length
的public final
字段。該字段包含數組的長度(=元素數量)。
因此,要回答你的問題從字面上:
如何檢查[5],元素[6]中存在的元素或不
通過比較要檢查與數組索引長度。
public boolean doesIndexExist(Object[] array, int indexToCheck)
{
return indexToCheck < array.length;
}
要在一個循環中利用這一點,可以編寫一個簡單的for循環,它總是檢查是否索引STIL比數組長度小。
for (int index = 0; index < array.length; ++index)
{
}
你的'doesIndexExist'更復雜,只需要使用'indexToCheck
@tuergeist:我知道。我想讓你知道我**從來不會**這樣做。但是我只是寫了它,因爲OP可能會更好地理解它。我不知道它是否真的幫了他很多,但值得一試。 – 2011-12-17 18:13:37
在按索引獲取元素之前,必須始終確保索引是有效的。要麼你知道索引的存在是因爲你創建了數組並且知道了它的長度,或者你不知道是因爲你沒有創建數組,所以你只需要檢查索引是否對數組有效:
if (index < array.length) {
// the index is valid for this array. I can use array[index]
}
大多數時候,一個數組用於通過遍歷所有的元素,而你只是從0(含)迭代到陣列(獨家)長度:
for (int i = 0; i < array.length; i++) {
// do something with array[i]
}
總是有一些原始類型的東西。 int[]
數組填充了int
值。如果未初始化,則填充爲0.默認情況下,boolean[]
數組默認填充爲false。
默認情況下,對象數組填充null
。
屁股VOO注意,你需要檢查數組的長度,如:
for(int i=0; i<elements.length; i++){
// Check elements[i] here.
}
或者,你可以使用新的與Java 5中引入循環語法:
for(Object e : elements){
// Check e here.
}
猶未,你可以換的數組作爲List
,並利用其contains
方法:
Arrays.asList(elements).contains("Strawberry"); // Will return false.
+1 asList方法是迄今爲止最容易理解和最簡單的方法。 – helpermethod 2011-12-19 14:56:53
您可以使用數組的length屬性來標識可用的元素數量。即使你可以寫這樣的方法。
Object[] elements={"Apple","Orange","Grape","Mango","Banana"};
public boolean isElementExist(int index) {
boolean result = false;
if(index >= 0 && index < elements.length) {
result = true;
}
return result;
}
'elements.length'返回該數組的大小。 – Voo 2011-12-17 17:47:54
我將在for循環中使用它,所以數組的大小會有所不同。我只需要查找索引中的元素是否包含值。 – Karthik 2011-12-17 17:50:05
@Karthik:提供一個更好的代碼示例。 'elements.length'也可以循環使用:) – tuergeist 2011-12-17 18:07:46