想像這樣一個代碼:如果您知道其中只有一個對象,如何從Set中獲取對象?
Set<Car> carObject;
現在我知道有這組只有一個對象。我如何正確地得到它?
Car myCar = carObject.whatMethod ?
???
編輯:謝謝你的好回答。
我知道只有一個對象,因爲我之前有一個
if(carObject.size ...)
檢查。
想像這樣一個代碼:如果您知道其中只有一個對象,如何從Set中獲取對象?
Set<Car> carObject;
現在我知道有這組只有一個對象。我如何正確地得到它?
Car myCar = carObject.whatMethod ?
???
編輯:謝謝你的好回答。
我知道只有一個對象,因爲我之前有一個
if(carObject.size ...)
檢查。
嘗試:
carObject.iterator().next();
如果你真的知道有一個元素:
Car myCar = carObjet.iterator().next();
無論如何,我會去肯定,並做到:
Iterator<Car> it = carObjet.iterator();
if (it.hasNext()) {
Car myCar = it.next();
}
因爲一個集合沒有通過索引直接訪問其成員,你必須遍歷集合,即s EEMS是最便宜的:
Car myCar = carObject.iterator().next();
這應該是通常在者優先將所述集合到一個數組或列表,因爲一個迭代不復制的數據結構。
您可以使用數組:如果你知道你的Set
有n
元素,你要訪問的i
第一個
Car myCar = carObject.toArray(new Car[1])[0];
:
carSet.toArray(new Car[n])[i];
你應該使用相同的迭代器的實例爲hasNext()和下一個電話() –
@ SebastianBaltes:謝謝,這是一個複製/粘貼錯誤,修復它。 – jlordo