Arraylist w Java ME

0

Witam wszystkich serdecznie,

Mam do Was takie oto pytanie jak zaimplementować ArrayList w javie me, lub czym ją można zastąpić w Java ME, ponieważ niestety arraylist nie występuje w javie ME. Potrzebna jest mi do pomocy przy losowaniu jednej karty z tali 24 Kart mam już naisany program w zwykłej Javie i chciałbym go przerobić na Java ME będę wdzięczny za pomoc:)
Pozdrawiam!

0

Czytałem ten artykuł i tam było właśnie napisane żeby zaimplementować arraylist, ale niestety mimo że autor napisał że jest to proste ja tego nie potrafie dopiero zaczynam Przygodę z Java ME a co do vector to nie wiem czy sie sprawdzi

0

Vector;

0

szczerze powiedziawszy wolałbym zaimplementować w programie arraylist bo z vector nigdy nie korzystałem

0

Vector jest troche wolniejszy, za to zapewnia synchronizacje metod. No ale w sumie, do Twojego przykladu pewnie wystarczy. Jedynie, musisz pamietac o rzutowaniu.

0

no ja che z tablicy 24 kart losować jedna co prawda nigdy nie pracowałem z vectorem ale poczytam dokumentacje moze jakos cos wymysle, a moze na ktoś już cos gotowego na vectorze zeby zobaczyć

0

API do vectora i arraylisty jest niemal identyczne, wiec nie sadze zeby Ci potrzebny byl jakie tutorial. Jak masz z czyms probelm, napisz tutaj.

0

ArrayList po prostu klasa, która trzyma w sobie coś w stylu
objects - tablica Object[]
size - ilość elementów

Gdy zdejmujesz z niej jakiś element o indeksie index, to jeśli zależy Ci na zachowaniu kolejności

size--;
for(int i = index; i<size; i++)
    tab[i] = tab[i+1];

Jeśli nie zależy Ci na zachowaniu kolejności, a na szybkości, możesz zrobić tak:
tab[index] = tab[--size];

Dodawanie elementu
tab[size++] = nowyElement
przed czym należy sprawdzić, czy długość tablicy objects jest wystarczająca i jeśli nie, stworzyć nową, dłuższą o ileś tam (ale lepiej o więcej niż jeden) i skopiować do niej wszystkie elementy ze starej

0

A czy mógłby mi ktoś podpowiedzieć co zrobić bo próbuje zrealizować swoje zadanie na vector ale nie moge i cały czas wywala mi blędy bo nie obsluguje int czy jakos tak i wywala mi błedy wszedzie tam gdzie one wystepuja a potrzebna mi jest taka tablica aby przy losowaniu mozna bylo do niej dodawac elementy.

0

Podaj komunikat błędu, inaczej nie da rady ;)

0

while(true){
Vector wylosowane = new Vector();

    Dalej dajKarte = new Dalej(wylosowane);
 
    wylosowane.addElement(dajKarte.nrKarty());// <b>addElement(java.lang.Object) in java.util.Vector cannot be applied to (int)</b>
    wylosowane.addElement(dajKarte.nrKarty());
    for (int j=0; j<wylosowane.size(); j++){
        sumagracz = + Karta.Talia(wylosowane.elementAt(j)).retVal();<b>cannot find symbol

symbol : method retVal()
location: class java.lang.Object
sumagracz = + Karta.Talia(wylosowane.elementAt(j)).retVal();</b>

        nazwy = nazwy + Karta.Talia(wylosowane.elementAt(j)).showName()+"\n";<b>cannot find symbol

symbol : method showName()
location: class java.lang.Object
nazwy = nazwy + Karta.Talia(wylosowane.elementAt(j)).showName()+"\n";</b>
}
if (sumagracz>=21)break;
Stop pasuje = new Stop();
if (pasuje.zwroc())break;
}//koniec while od losowania

0
piotrek_1234 napisał(a)

while(true){
Vector wylosowane = new Vector();

    Dalej dajKarte = new Dalej(wylosowane);
 
    wylosowane.addElement(dajKarte.nrKarty());// <b>addElement(java.lang.Object) in java.util.Vector cannot be applied to (int)</b>
    wylosowane.addElement(dajKarte.nrKarty());
    for (int j=0; j<wylosowane.size(); j++){
        sumagracz = + Karta.Talia(wylosowane.elementAt(j)).retVal();<b>cannot find symbol

symbol : method retVal()
location: class java.lang.Object
sumagracz = + Karta.Talia(wylosowane.elementAt(j)).retVal();</b>

        nazwy = nazwy + Karta.Talia(wylosowane.elementAt(j)).showName()+"\n";<b>cannot find symbol

symbol : method showName()
location: class java.lang.Object
nazwy = nazwy + Karta.Talia(wylosowane.elementAt(j)).showName()+"\n";</b>
}
if (sumagracz>=21)break;
Stop pasuje = new Stop();
if (pasuje.zwroc())break;
}//koniec while od losowania
Widze, ze nikt nie chce pomoc a sie zadeklarowalem ze Ci pomoge. Nie wiedzailem, co prawda wczesniej ze to bedzie tak zmudne^^ Ale trudno, ja zaczne reszta skonczy.

  1. wylosowane.addElement(dajKarte.nrKarty()) , tutaj i w arrayliscie bys mial blad. Chodzi o to, ze dodajesz obiekty, a int takim nie jest. Zmien na int na Integer.
  2. wylosowane.elementAt(j)).showName() tutaj masz brak rzutowania, zatem wg. kompilatora zwracasz obiekt klasy Object. zmien na ((Dalej)wylosowane.elementAt(j)).showName()

Obawiam, sie ze nawet po tym co napisalem bedziesz mial pytania, ja niestety dzisiaj nie dam rady Ci odp.

0

Ogolnie to chyba lamiesz wszystkie zasady poprawnego pisanai kodu, tam z rzutowaniem nie wiem czy Ci dobrze napisalem, bo juz sie pogubilem co Ty do vectora wstawiasz.

0

juz wiekszosc poprawilem pomogło rzutowanie teraz zostaly mi tylko bledy w tej linijce z retVal i showName ale posiedze i moze uda sie to jakos rozwiazac

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