Program Linked List

 Linked list

Berikut merupakan kode implementasi dari linked list.



import java.util.LinkedList;
import java.util.Scanner;
import java.util.InputMismatchException;
**
* This class represents linkedlist data structure
*
* @author Nabila Zakiyah
* @version 1.0
* */
public class JavaLinkedList {
private static LinkedList<String> dataStorage = new LinkedList<String>();
private static Scanner extracted() {
return new Scanner(System.in);
}
private static void displayData(){
System.out.println("\nData dalam List: " + dataStorage);
System.out.println("Total Data : " + dataStorage.size());
}
private static void addData() {
System.out.print("Masukkan Data: ");
String tempData = extracted().nextLine();
dataStorage.add(tempData);
displayData();
}
private static void addDataToFirst() {
System.out.print("Masukkan Data: ");
String tempData = extracted().nextLine();
dataStorage.addFirst(tempData);
displayData();
}
private static void addDataToLast() {
System.out.print("Masukkan Data: ");
String tempData = extracted().nextLine();
dataStorage.addLast(tempData);
displayData();
}
private static void addDataAtLocation() {
boolean status = true;
int indexData = 0;
displayData();
while(status) {
System.out.print("Pilih Index Data yang ingin disisipi data: [0-" + (dataStorage.size() - 1) + "]: ");
try {
status = false;
indexData = extracted().nextInt();
}
catch(InputMismatchException e) {
System.out.println("Data harus berupa Angka!");
status = true;
}
}
System.out.print("Data yang ingin disisipkan pada index data ke- " + indexData + ": ");
String tempData = extracted().nextLine();
dataStorage.add(indexData, tempData);
displayData();
}
private static boolean searchData(String data) {
return dataStorage.contains(data);
}
private static void removeData() {
boolean status = true;
int indexData = 0;
displayData();
while(status) {
System.out.print("Pilih Index Data yang ingin dihapus: [0-" + (dataStorage.size() - 1) + "]: ");
try {
status = false;
indexData = extracted().nextInt();
}
catch(InputMismatchException e) {
System.out.println("Data harus berupa Angka!");
status = true;
}
}
dataStorage.remove(indexData);
displayData();
}
private static void removeDataAtFirst() {
dataStorage.removeFirst();
displayData();
}
private static void removeDataAtLast() {
dataStorage.removeLast();
displayData();
}
private static void removeDataByContent() {
displayData();
System.out.print("Masukkan Data yang ingin dihapus: ");
String data = extracted().nextLine();
if(searchData(data)) {
dataStorage.remove(data);
}
else {
System.out.println("Anda memasukkan data yang tidak tersimpan di dalam list");
}
displayData();
}
private static void programExit() {
System.exit(0);
}
private static void programTitle() {
System.out.println("\nSimple Linked List Program");
}
private static void programSwitcher() {
boolean status = true;
int indexMenu = 0;
while(status) {
try {
status = false;
System.out.print("Pilih Menu [1~9]: ");
indexMenu = extracted().nextInt();
}
catch(InputMismatchException e) {
System.out.println("Masukan harus berupa Angka!");
status = true;
}
}
switch(indexMenu) {
case 1: addData(); break;
case 2: addDataToFirst(); break;
case 3: addDataToLast(); break;
case 4: addDataAtLocation(); break;
case 5: removeData(); break;
case 6: removeDataAtFirst(); break;
case 7: removeDataAtLast(); break;
case 8: removeDataByContent(); break;
case 9: programTitle(); break;
case 10: programExit(); break;
}
programMenu();
}
private static void programMenu() {
System.out.println("\n.: PROGRAM MENU :."
+ "\n 1. Add Data"
+ "\n 2. Add Data at First"
+ "\n 3. Add Data at Last"
+ "\n 4. Add Data at N Index"
+ "\n 5. Remove Data at N Index"
+ "\n 6. Remove Data at First"
+ "\n 7. Remove Data at Last"
+ "\n 8. Remove Data by Data Content"
+ "\n 9. About Program"
+ "\n10. Program Exit");
programSwitcher();
}
public static void main(String[] args) {
programTitle();
programMenu();
}
}
view raw linked list hosted with ❤ by GitHub
Output:
Simple Linked List Program
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 1
Masukkan Data: 29
Data dalam List: [29]
Total Data : 1
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 1
Masukkan Data: 15
Data dalam List: [29, 15]
Total Data : 2
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 1
Masukkan Data: 9
Data dalam List: [29, 15, 9]
Total Data : 3
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 2
Masukkan Data: 5
Data dalam List: [5, 29, 15, 9]
Total Data : 4
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 4
Data dalam List: [5, 29, 15, 9]
Total Data : 4
Pilih Index Data yang ingin disisipi data: [0-3]: 3
Data yang ingin disisipkan pada index data ke- 3: 7
Data dalam List: [5, 29, 15, 7, 9]
Total Data : 5
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 7
Data dalam List: [5, 29, 15, 7]
Total Data : 4
.: PROGRAM MENU :.
1. Add Data
2. Add Data at First
3. Add Data at Last
4. Add Data at N Index
5. Remove Data at N Index
6. Remove Data at First
7. Remove Data at Last
8. Remove Data by Data Content
9. About Program
10. Program Exit
Pilih Menu [1~9]: 10

Komentar

Postingan populer dari blog ini

Final Project - Eas

Tugas 1 - PPB F