Element listy czy istnieje?

0

Witam,
jestem początkujący w javie i mam pewno pytanie. W jaki sposób sprawdzić w if czy dany element listy o danym id istnieje?

Próbowałem w ten sposób, ale nie działa:

if(lista.get(k+2)==null);
if(lista.get(k+2).equals(""));
0

Kazdy element listy z przedzialu 0..lista.size() istnieje. Pewnie chcesz sprawdzic, czy element ten jest pusty, a nikt nie wie co to za element.

0
n0name_l napisał(a):

Kazdy element listy z przedzialu 0..lista.size() istnieje. Pewnie chcesz sprawdzic, czy element ten jest pusty, a nikt nie wie co to za element.

Tylko czasami zmienna k+2 może właśnie wyjść poza przedział 0...lista.size() i chciałbym sprawdzić czy element listy w pewnym przypadku o tym indexie własnie istnieje.

0

to @bogdans dal dobra odpowiedz.

E get(int index)

Returns the element at the specified position in this list.

Parameters:
    index - index of the element to return
Returns:
    the element at the specified position in this list
Throws:
    IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= size())
0

No kurde nie wiem, nie kumam tego. :-( Nie działa mi.

Zapisuję to w ten sposób:

if(contains(lista.get(k+2)))

Gdy elementu listy o takim id nie ma to wyrzuca mi taki błąd:

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at Kalkulator.actionPerformed(Kalkulator.java:502)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
1

ja pieprze...

try
{
    lista.get(index);
    // jesli wszystko ok to sie wykona to tutaj badz za blokiem catch()
}
catch(IndexOutOfBoundsException e)
{
    // jesli blad
}

lub:

if(index >= 0 && index < lista.size())
{   // tutaj jesli ok }
else 
{  // tutaj jesli blad }

P.S. w 30 sek pisania tego posta nauczylem sie wiecej Javy niz Ty od poczatku kariery.

1 użytkowników online, w tym zalogowanych: 0, gości: 1