1. Linked List๋?
ํฌ์ธํฐ๊ฐ ๋ค์ ๋ ธ๋ ๊ฐ๋ฆฌํค๊ฒ ํด์ ์ด์ด์ ธ ์๋ ์๋ฃ๊ตฌ์กฐ.
์ค๊ฐ ์ค๊ฐ ์ฝ์ ์ด ์ฌ์. (์ฌ๋๋ค์ด ์๋ก ์ ์ก๊ณ ์ผ๋ ฌ๋ก ์์๋๋ค๊ณ ์๊ฐํด๋ณด์. ์ค๊ฐ์ ์ฌ๋์ ๋ฃ์ ์ ๋ ์ฌ๋์ด ๊น์ง๋ฅผ ๋ผ๊ณ ๊ทธ ์ฌ์ด์ ๋ฃ์ผ๋ฉด ๋๋ค.)
List ํํ(ArrayList, LinkedList)๋ ๋ชจ๋ ์ค๊ฐ ์ฝ์ ์ด ๋๋ค.
๋ํ List ํํ๋ ๋ชจ๋ ์ค๋ณต๋ ๊ฐ ์ฝ์ ์ ํ์ฉํ๋ค.
2. ์ฝ๋ ๋ฆฌ๋ทฐ
import java.util.Collections;
import java.util.LinkedList;
public class _05_LinkedList {
public static void main(String[] args) {
//๋งํฌ๋ ๋ฆฌ์คํธ
LinkedList<String> list = new LinkedList<>();
//๋ฐ์ดํฐ ์ถ๊ฐ
list.add("์ ์ฌ์");
list.add("์กฐ์ธํธ");
list.add("๊น์ข
๊ตญ");
list.add("๋ฐ๋ช
์");
list.add("๊ฐํธ๋");
//๋ฐ์ดํฐ ์กฐํ(์ธ๋ฑ์ค)
System.out.println(list.get(0));
System.out.println(list.get(1));
// ๋งจ ์ฒ์๊ณผ ๋ ๊ฐ์ ธ์ค๋ ๋งค์๋
System.out.println(list.getFirst());
System.out.println(list.getLast());
System.out.println("-------------------------------------");
// ์ถ๊ฐ
list.addFirst("์์ฅํ");
for(String s : list){
System.out.println(s);
}
System.out.println("----------------------------------------");
list.addLast("๊นํฌ์ฒ ");
for(String s : list){
System.out.println(s);
}
System.out.println("----------------------------------------------");
//์ค๊ฐ์ ์ถ๊ฐ
System.out.println("ํ์ ์ถ๊ฐ ์ (index 1): " + list.get(1));
list.add(1, "๊น์์ฒ ");
System.out.println("ํ์ ์ถ๊ฐ ํ(index 1): "+list.get(1));
System.out.println("ํ์ ์ถ๊ฐ ํ(index 2): "+list.get(2));
System.out.println("----------------------------------------------");
//์ญ์ (์ฒ์, ๋ ์์ ์ญ์ ๋ ๊ฐ๋ฅ)
System.out.println("๋จ์ ํ์ ์(์ ์ธ ์ ) : " +list.size());
list.remove(list.size()-1);
System.out.println("๋จ์ ํ์ ์(์ ์ธ ํ) : " +list.size());
System.out.println("----------------------------------------------");
//์ฒ์ ํ์๊ณผ ๋ง์ง๋ง ํ์์ด ์ ํ
for(String s : list){
System.out.println(s);
}
System.out.println("๋จ์ ํ์ ์(์ ํ ์ ) : " +list.size());
list.removeFirst(); // ์ฒ์ ๋ฐ์ดํฐ
list.removeLast(); // ๋ง์ง๋ง ๋ฐ์ดํฐ
System.out.println("๋จ์ ํ์ ์(์ ํ ํ) : " +list.size());
for(String s : list){
System.out.println(s);
}
System.out.println("----------------------------------------------");
//๋ณ๊ฒฝ(์๊ฐ๊ถ ์๋)
list.set(0,"์ด์๊ทผ");
System.out.println(list.get(0));
//ํ์ธ
System.out.println(list.indexOf("๊น์ข
๊ตญ"));
if(list.contains("๊น์ข
๊ตญ")){
System.out.println("์๊ฐ์ ์ฒญ ์ฑ๊ณต");
}
else {
System.out.println("์๊ฐ์ ์ฒญ ์คํจ");
}
System.out.println("----------------------------------------------");
//์ ์ฒด ์ญ์
list.clear();
if(list.isEmpty()){
System.out.println("ํ์ ์: " + list.size());
System.out.println("๋ฆฌ์คํธ๊ฐ ๋น์์ต๋๋ค.");
}
// ์๋ก์ด ํ๊ธฐ ์์
// ๋ฆฌ์คํธ๋ ์ค๋ณต ํ์ฉ
list.add("์ ์ฌ์");
list.add("์กฐ์ธํธ");
list.add("๊น์ข
๊ตญ");
list.add("๋ฐ๋ช
์");
list.add("๊ฐํธ๋");
list.add("๊ฐํธ๋");
list.add("๊ฐํธ๋");
list.add("๊ฐํธ๋");
list.add("๊ฐํธ๋");
System.out.println("--------------------------------------------");
//์ ๋ ฌ
Collections.sort(list);
for(String s : list){
System.out.println(s);
}
}
}
3. ์ค์ค๋ก ํด๋ณด๊ธฐ
package WorkOut_Myself;
import java.util.Collections;
import java.util.LinkedList;
public class LinkedList_Myself {
public static void main(String[] args) {
//์ ์ธ
LinkedList<String> Academy = new LinkedList<>();
//์ถ๊ฐ - ์ฒ์, ๋, ์ค๊ฐ
//์ด๊ฑด ๋ํดํธ๋ก ๋งจ ๋ง์ง๋ง์ ์ถ๊ฐ
Academy.add("๊นํ๊ณค");
Academy.add("์ดํ๋ด");
Academy.add("์ตํ๋ฑ");
Academy.add("์ด๋ง๋
");
Academy.add("์นด์ค๋ถ๊ฐ");
Academy.add("์นด๋ฐ๋");
Academy.add("๋ฃฐ๋ฃจ");
System.out.println("<< ์ ๊ท ์ถ๊ฐ >>");
for (String s :
Academy) {
System.out.println(s);
}
System.out.println("---------------------------");
System.out.println("<< 2์ฐจ ์ถ๊ฐ >>");
Academy.addFirst("ํํค๋ฏธ");
Academy.addLast("David");
Academy.add(4,"Bruno Ferenadez");
for (String s :
Academy) {
System.out.println(s);
}
System.out.println("---------------------------");
//์กฐํ - ์ฒ์, ๋, ์ค๊ฐ
System.out.println("<< ํ์ ์กฐํ >>");
for (int i = 0; i < Academy.size(); i++) {
System.out.println((i+1) + "๋ฒ์งธ ํ์: " + Academy.get(i));
}
System.out.println("---------------------------");
System.out.println("์ฒซ ํ์ ์กฐํ> " +(1)+"๋ฒ: "+Academy.getFirst());
System.out.println("๋ง์ง๋ง ํ์ ์กฐํ> " +(Academy.size())+"๋ฒ: "+ Academy.getLast());
System.out.println("---------------------------");
//์ญ์ - ์ฒ์, ๋, ์ค๊ฐ
System.out.println("ํ์์ด ๊ทธ๋ง๋ ์ ๋ฐ๋ฅธ ์ญ์ ");
Academy.remove(1);
Academy.removeFirst();
Academy.removeLast();
for (int i = 0; i < Academy.size(); i++) {
System.out.println((i+1) + "๋ฒ์งธ ํ์: " + Academy.get(i));
}
System.out.println("---------------------------");
//๋ณ๊ฒฝ
System.out.println("<<์ดํ๋ด ํ์์ ์๊ฐ๊ถ ์๋>>");
System.out.print(Academy.get(0) + ">> ");
Academy.set(0,"์ด๋ฏผํ");
System.out.println(Academy.get(0));
System.out.println("--------------------------------");
//ํ์ธ (๋ฆฌ์คํธ ์์ ์๋์ง, ๋ช ๋ฒ์งธ ์ธ์ง)
System.out.println("๋ฃฐ๋ฃจ ํ์์ ๋ช ๋ฒ์งธ ์ธ๊ฐ? "+Academy.indexOf("๋ฃฐ๋ฃจ")+ " ๋ฒ์งธ");
if(Academy.contains("์นด์ค๋ถ๊ฐ")){
System.out.println("์นด์ค๋ถ๊ฐ ํ์์ ์์ต๋๋ค.");
}
System.out.println("--------------------------------");
//์ ์ฒด ์ญ์
Academy.clear();
if(Academy.isEmpty()){
System.out.println("์๊ฐ๋ช
๋ถ๊ฐ ๋น์์ต๋๋ค.");
}
System.out.println("--------------------------------");
//์๋ก ์ถ๊ฐ ๋ฐ ์ ๋ ฌ
Academy.add("๊นํ๊ณค");
Academy.add("์ดํ๋ด");
Academy.add("์ตํ๋ฑ");
Academy.add("์ด๋ง๋
");
Academy.add("์นด์ค๋ถ๊ฐ");
Academy.add("์นด๋ฐ๋");
Academy.add("๋ฃฐ๋ฃจ");
Academy.addFirst("ํํค๋ฏธ");
Academy.addLast("David");
Academy.add(4,"Bruno Ferenadez");
Collections.sort(Academy);
for (int i = 0; i < Academy.size(); i++) {
System.out.println((i+1) + "๋ฒ์งธ ํ์: " + Academy.get(i));
}
}
}
0