Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze:

Aktivity
Avatar
karel.vokral
Člen
Avatar
karel.vokral:22.4.2013 18:59

Ahoj, už delší dobu dumám nad úlohou, na procvičení ArrayListu/práce s objekty
Mám vytvořit metodu, která smaže prvek na deném indexu pole a potom druhou metodu, která vymaže všechny výskyty v poli např. s hodnotou 3. Nevím, jak dál - metody Add atd..mě přišli jednodušší, i když tohle asi taky nebude složité, ale já prostě nevím jak dál. :`

import java.util.ArrayList;

public class ROcnikovkaHelp {

    @SuppressWarnings("empty-statement")
    public static void main(String[] args) {

        Node n1 = new Node(3);
        Node n2 = new Node(1);
        Node n3 = new Node(10);
        Node n4 = new Node(3);
        NodeList tp = new NodeList();
        tp.addNode(n1);
        tp.addNode(n2);
        tp.addNode(n3);
        tp.addNode(n4);
        tp.addFirst(new Node(9));

        tp.remove(1); //smaze prvek na ID 1
        tp.removeVal(10); //smaze prvek s hodnotou 10
        //DDU tp.removeAllVal(3); //smaze vsechny vyskyty s hodnotou 3



        for (int i = 0; i < tp.getSize(); i++) {
            int b = tp.get(i);
            System.out.println(b);
        }
        System.out.println(" ");
        System.out.println(tp.get(3)); // Vrátí danou pozici v .tp
        System.out.println(" ");

        System.out.println(tp.getId(9));

    }
}

class Node {

    private int value;
    private Node next = null;

    public Node getNext() {
        return next;
    }

    public void setNext(Node next) {
        this.next = next;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    Node(int hodnota) {
        value = hodnota;


    }

    Node(int hodnota, Node n) {
        value = hodnota;
        next = n;
    }
}

class NodeList {

    private Node root = null;
    private int size = 0;

    int getSize() {
        return size;
    }

    NodeList() {
    }

    void addNode(Node n) {
        size++;
        if (root == null) {
            root = n;
        } else {
            Node a = root;
            while (a.getNext() != null) {
                a = a.getNext();
            }
            a.setNext(n);
        }


    }



    int get(int i) {
        Node a = root;
        for (int j = 0; j < i; j++) {
            a = a.getNext();

        }
        return a.getValue();
    }

    int getId(int z) {
        Node a = root;
        int i = 0;
        while (a.getValue() != z) {
            if (a.getNext() == null) {
                return -1;
            }
            a = a.getNext();
            i++;

        }
        return i;


    }

    void addFirst(Node n){
    n.setNext(root);
    root = n;
    size++;
    }

    void remove(Node i) {

    }




    void removeVal(int i) {

    }
}
Editováno 22.4.2013 19:00
 
Odpovědět
22.4.2013 18:59
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na karel.vokral
David Hartinger:22.4.2013 19:27

Tohle není ArrayList, ale spojový seznam, ani nevíš co máš zadané...

Nahoru Odpovědět
22.4.2013 19:27
You are the greatest project you will ever work on.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.