Arraylisten serialisieren

Jetzt frage ich mich, ob Ihr mir beim Serialisieren einer ArrayList in eine Datei helfen könntet. Jetzt arbeite ich an einem Summativ aus der Schule, aber es gibt kein wirkliches Codierungsproblem, das ich habe. Was ich mache, ist ein GUI-Adressbuch, und wenn ein Benutzer eine Adresse hinzufügt, wird diese in einer Arrayliste gespeichert und der ComboBox hinzugefügt. Das ist was ich tue Was ich frage, ist, ob Sie Arraylists serialisieren können. Wenn Sie können, können Sie mir beibringen, wie? Oder gib mir zumindest ein paar Tutorials?

Ich danke dir sehr. Wenn ihr Code sehen müsst, bevor ihr antwortet, lasst es mich wissen und ich werde es zeigen. Nochmals vielen Dank.

Okay, hier ist mein gesamter Code:

import java.awt.EventQueue;


public class Address_Book {

    private JFrame frame;
    private JTextField newName;
    private JTextField newAddress;
    private JTextField newPhoneAddress;
    ArrayList<Book> test = new ArrayList<Book>();

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Address_Book window = new Address_Book();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Address_Book() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 371, 262);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        final JComboBox comboBox = new JComboBox();
        final DefaultComboBoxModel model = new DefaultComboBoxModel();

        newName = new JTextField();
        newName.setBounds(10, 29, 79, 20);
        frame.getContentPane().add(newName);
        newName.setColumns(10);

        JLabel lbl1 = new JLabel("Enter New Name:");
        lbl1.setBounds(10, 11, 107, 14);
        frame.getContentPane().add(lbl1);

        JLabel lbl2 = new JLabel("Enter New Address:");
        lbl2.setBounds(110, 11, 107, 14);
        frame.getContentPane().add(lbl2);

        newAddress = new JTextField();
        newAddress.setColumns(10);
        newAddress.setBounds(109, 29, 96, 20);
        frame.getContentPane().add(newAddress);

        newPhoneAddress = new JTextField();
        newPhoneAddress.setColumns(10);
        newPhoneAddress.setBounds(215, 29, 130, 20);
        frame.getContentPane().add(newPhoneAddress);

        JLabel lbl3 = new JLabel("Enter New Phone number:");
        lbl3.setBounds(215, 11, 140, 14);
        frame.getContentPane().add(lbl3);

        JButton btnAddNewContact = new JButton("Add new contact");
        btnAddNewContact.addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent arg0) {
                test.add( (new Book(newName.getText(), newAddress.getText(), newPhoneAddress.getText())));
                //mergesort.mergesort(test, 0, test.size() - 1);
                model.removeAllElements();
                for(int i=0; i < test.size();i++){
                    model.addElement(test.get(i).getContact()); 
                }
                comboBox.setModel(model);
                newName.setText(""); 
                newAddress.setText("");
                newPhoneAddress.setText("");
            }
        });
        btnAddNewContact.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            }
        });
        btnAddNewContact.setBounds(10, 53, 335, 23);
        frame.getContentPane().add(btnAddNewContact);

        JLabel lbl4 = new JLabel("Current Contacts:");
        lbl4.setBounds(10, 87, 107, 14);
        frame.getContentPane().add(lbl4);

        comboBox.setModel(model);
        comboBox.setBounds(10, 101, 335, 20);
        comboBox.setSelectedIndex(test.size()-1);
        frame.getContentPane().add(comboBox);
    }
}

und hier ist mein objekt:

public class Book implements Comparable {
     private String flName, Address, pNumber;

    public Book(String Name, String address, String phoneNumber ){
        setFlName(Name);
        setAddress(address);
        setpNumber(phoneNumber);
    }

    public String getpNumber() {
        return pNumber;
    }

    public void setpNumber(String pNumber) {
        this.pNumber = pNumber;
    }

    public String getAddress() {
        return Address;
    }

    public void setAddress(String address) {
        Address = address;
    }

    public String getFlName() {
        return flName;
    }

    public void setFlName(String flName) {
        this.flName = flName;
    }  

    public String getContact() {
        return flName + " " + Address + " " + pNumber;
    }

    public int compareTo(Object c) {
        Book testBook = (Book)c;

        if (testBook.getFlName().compareTo(this.getFlName()) < 0){
            return(-1);
        }else if(testBook.getFlName().compareTo(this.getFlName()) == 0){
            return(0);
        }else{
            return(1);
        }
    }

}

Nun bin ich mir wieder unsicher, wie ich Arraylists serialisierbar machen soll. Ich habe Objekte verwendet, aber keine Arraylisten. Daher weiß ich nicht, ob es sich um denselben Prozess handelt. Ich bitte nur um Rat oder einige großartige Tutorials, um ArrayLists serialisierbar zu machen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage