Untitled

 avatar
unknown
plain_text
6 months ago
1.4 kB
1
Indexable
class Library {
    private final DynamicArray<Book> books;

    public Library() {
        books = new DynamicArray<>();
    }

    public void addBook(Book book) {
        books.add(book);
    }

    public Book removeBook(int index) {
        return books.remove(index);
    }

    public Book getBook(int index) {
        return books.get(index);
    }

    public int getTotalBooks() {
        return books.size();
    }

    public String sortByName() {
        List<Book> nonNullBooks = new ArrayList<>();
        for (int i = 0; i < books.size(); i++) {
            Book book = books.get(i);
            if (book != null) {
                nonNullBooks.add(book);
            }
        }

        int n = nonNullBooks.size();
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (nonNullBooks.get(j).toString().compareToIgnoreCase(nonNullBooks.get(j + 1).toString()) > 0) {
                    Book temp = nonNullBooks.get(j);
                    nonNullBooks.set(j, nonNullBooks.get(j + 1));
                    nonNullBooks.set(j + 1, temp);
                }
            }
        }

        StringBuilder sb = new StringBuilder();
        for (Book book : nonNullBooks) {
            sb.append(book).append("\n");
        }

        return sb.toString();
    }
}
Editor is loading...
Leave a Comment