Sección 1 Resumen
Genial, la primera sección está completa, y ahora tienes una idea de los fundamentos del Java Collections Framework. Has aprendido a trabajar con clases envoltorio, ArrayList
y LinkedList
. Incluso hemos escrito nuestra versión simplificada de LinkedList
, parte de la cual has implementado tú mismo. Echemos un vistazo a esta implementación:
main.java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113package com.example; class Node { int data; Node next; public Node(int data) { this.data = data; this.next = null; } } class SinglyLinkedList { private Node head; public SinglyLinkedList() { this.head = null; } public void append(int data) { Node newNode = new Node(data); if (head == null) { head = newNode; return; } Node current = head; while (current.next != null) { current = current.next; } current.next = newNode; } public void display() { Node current = head; while (current != null) { System.out.print(current.data + " "); current = current.next; } System.out.println(); } public void update(int index, int newData) { if (index < 0 || index >= size()) { System.out.println("Invalid index"); return; } Node current = head; for (int i = 0; i < index; i++) { current = current.next; } current.data = newData; } public void delete(int index) { if (index < 0 || index >= size()) { System.out.println("Invalid Index"); return; } if (index == 0) { head = head.next; return; } Node current = head; for (int i = 0; i < index - 1; i++) { current = current.next; } current.next = current.next.next; } public int size() { int count = 0; Node current = head; while (current != null) { count++; current = current.next; } return count; } } public class Main { public static void main(String[] args) { SinglyLinkedList linkedList = new SinglyLinkedList(); // Adding elements to the end of the list (Create) linkedList.append(1); linkedList.append(2); linkedList.append(3); linkedList.append(4); // Displaying the content of the list (Read) System.out.println("Contents of the list:"); linkedList.display(); // Updating a value by index (Update) linkedList.update(2, 10); System.out.println("List after updating the value at index 2:"); linkedList.display(); // Deleting an element by index (Delete) linkedList.delete(1); System.out.println("List after deleting the element at index 1:"); linkedList.display(); } }
Sí, la solución resultó ser bastante grande, así que entiendo la incomodidad de desplazarse por el código en una ventana pequeña. Sin embargo, puedes ejecutar este código y ver cómo funciona.
Aquí están los dos métodos que implementaste tú mismo:
SinglyLinkedList.java
123456789101112131415161718192021222324252627public void delete(int index) { if (index < 0 || index >= size()) { System.out.println("Invalid Index"); return; } if (index == 0) { head = head.next; return; } Node current = head; for (int i = 0; i < index - 1; i++) { current = current.next; } current.next = current.next.next; } public int size() { int count = 0; Node current = head; while (current != null) { count++; current = current.next; } return count; }
**Tu solución puede diferir ligeramente de la que te he dado, pero no pasa nada porque la programación es un proceso creativo, y el código de cada uno puede ser completamente diferente aunque cumpla las mismas funciones.
Repasemos las principales cuestiones que se plantearon en esta sección:
1. ¿Qué ocurre cuando un ArrayList
supera su capacidad actual?
2. ¿Qué afirmación es cierta al comparar LinkedList y ArrayList en Java?
3. ¿Cuál es la clase envolvente para el tipo primitivo char
en Java?
4. ¿Qué método se utiliza para añadir un elemento al final de un ArrayList
en Java?
5. En una LinkedList
, cada nodo contiene una referencia a:
6. ¿Cuál es la clase que envuelve al tipo primitivo int
en Java?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4
Sección 1 Resumen
Desliza para mostrar el menú
Genial, la primera sección está completa, y ahora tienes una idea de los fundamentos del Java Collections Framework. Has aprendido a trabajar con clases envoltorio, ArrayList
y LinkedList
. Incluso hemos escrito nuestra versión simplificada de LinkedList
, parte de la cual has implementado tú mismo. Echemos un vistazo a esta implementación:
main.java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113package com.example; class Node { int data; Node next; public Node(int data) { this.data = data; this.next = null; } } class SinglyLinkedList { private Node head; public SinglyLinkedList() { this.head = null; } public void append(int data) { Node newNode = new Node(data); if (head == null) { head = newNode; return; } Node current = head; while (current.next != null) { current = current.next; } current.next = newNode; } public void display() { Node current = head; while (current != null) { System.out.print(current.data + " "); current = current.next; } System.out.println(); } public void update(int index, int newData) { if (index < 0 || index >= size()) { System.out.println("Invalid index"); return; } Node current = head; for (int i = 0; i < index; i++) { current = current.next; } current.data = newData; } public void delete(int index) { if (index < 0 || index >= size()) { System.out.println("Invalid Index"); return; } if (index == 0) { head = head.next; return; } Node current = head; for (int i = 0; i < index - 1; i++) { current = current.next; } current.next = current.next.next; } public int size() { int count = 0; Node current = head; while (current != null) { count++; current = current.next; } return count; } } public class Main { public static void main(String[] args) { SinglyLinkedList linkedList = new SinglyLinkedList(); // Adding elements to the end of the list (Create) linkedList.append(1); linkedList.append(2); linkedList.append(3); linkedList.append(4); // Displaying the content of the list (Read) System.out.println("Contents of the list:"); linkedList.display(); // Updating a value by index (Update) linkedList.update(2, 10); System.out.println("List after updating the value at index 2:"); linkedList.display(); // Deleting an element by index (Delete) linkedList.delete(1); System.out.println("List after deleting the element at index 1:"); linkedList.display(); } }
Sí, la solución resultó ser bastante grande, así que entiendo la incomodidad de desplazarse por el código en una ventana pequeña. Sin embargo, puedes ejecutar este código y ver cómo funciona.
Aquí están los dos métodos que implementaste tú mismo:
SinglyLinkedList.java
123456789101112131415161718192021222324252627public void delete(int index) { if (index < 0 || index >= size()) { System.out.println("Invalid Index"); return; } if (index == 0) { head = head.next; return; } Node current = head; for (int i = 0; i < index - 1; i++) { current = current.next; } current.next = current.next.next; } public int size() { int count = 0; Node current = head; while (current != null) { count++; current = current.next; } return count; }
**Tu solución puede diferir ligeramente de la que te he dado, pero no pasa nada porque la programación es un proceso creativo, y el código de cada uno puede ser completamente diferente aunque cumpla las mismas funciones.
Repasemos las principales cuestiones que se plantearon en esta sección:
1. ¿Qué ocurre cuando un ArrayList
supera su capacidad actual?
2. ¿Qué afirmación es cierta al comparar LinkedList y ArrayList en Java?
3. ¿Cuál es la clase envolvente para el tipo primitivo char
en Java?
4. ¿Qué método se utiliza para añadir un elemento al final de un ArrayList
en Java?
5. En una LinkedList
, cada nodo contiene una referencia a:
6. ¿Cuál es la clase que envuelve al tipo primitivo int
en Java?
¡Gracias por tus comentarios!