Program Linked List
Linked list
Berikut merupakan kode implementasi dari linked list.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
Posting Komentar