41
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.Collection; import java.util.Collections; import java.util.Iterator; class Apple{ int a; Apple() { System.out.println("생성자콜"); } void func01() { System.out.println("함수1번콜"); } } public class Hello { public static void main(String[] args) { //Apple a1 = new Apple(); //a1.func01(); LinkedList<Integer> ll = new LinkedList<>();//<Integer> 클래스형태만 가능 <Int>는 안됨 ll.add(30);//create,insert 과정 crud에서 //클래스 이름<포함> 뒤에는 생략가능 넣어져있는거임.() = 생성자콜 //배열과 같다. 연속적이지않고, 연결되어 있는 형태 //collection중 하나가 linkedlist //데이터를 crud하기 위한 알고리즘의 한 종류 //CRUD를쓰거나 STL을 쓸 줄 안다. //배열이 연속되어있을때는 추가와 삭제가 매우 힘들다. - 해결하기위해 linkedlist가 생긴것임 //그냥 배열은 검색에서는 몇번째인지만 알면되지만, linkedlist는 검색에서는 손해를 본다. //추가 삭제가 많은 프로그램은 검색을 쓴다면 linkedlist String s = new String(); //데이터가 모여있는곳이 데이터베이스이다. //insert 데이터넣는거 //delete 지우는거 remove remove //update 갱신 //merge합병 //CRUD create read(select) update delete //야쿠르트만 있으면 컨테이너 우유만있으면 x //컨테이너 내용물은 integer이다. System.out.println(ll.size());//데이터가 몇개 들어가 있는지 물어봄 ll.add(40); int n1 = ll.size(); System.out.println(n1); for (int i = 0; i < 10; i++) { ll.add(i*3); } System.out.println(ll);//read하는법 for (int i = 0; i < ll.size(); i++) { int n2 = ll.get(i);//i번째를 꺼낸다. System.out.print(n2+" "); } System.out.println(); for (Integer i : ll) { System.out.print(i +" "); } ll.set(4, 99);//4번쨰 데이터를 99로 갱신 System.out.println(); System.out.println(ll); ll.remove(4);//4번째 데이터 삭제,데이터가 사라짐 System.out.println(ll); ll.remove(ll.size()-1);//마지막 데이터 삭제 System.out.println(ll); ll.add(3,88); System.out.println(ll); //데이터 시작은 0부터 9까지 int count=0; for (int i = 0; i < ll.size(); i++) { int n2 = ll.get(i);//i번째를 꺼낸다. if(n2%2==0) { count++; System.out.print(n2+" "); } } System.out.println(); System.out.println("짝수의 갯수는"+count); System.out.println(ll); for (int i = 0; i < ll.size(); i++) { int n2 = ll.get(i);//i번째를 꺼낸다. if(n2==88) { ll.remove(i); //break;//맨 처음에 나오는 88만 제거해라~ } } System.out.println(ll); /*for (int i = 0; i < ll.size();) {//i가 증가가 안되서 무한루프 돌게된다. int n2 = ll.get(i); if(n2%2==1) { ll.remove(i);//지우고 나서 데이터 순번이 다시 2<-3가 되므로 (점프해서)넘어가므로 다 지워지지 않은것이다. //break;//맨 처음에 나오는 88만 제거해라~ } else i++;//제거되면 증가 } System.out.println(ll);*///홀수제거방법1 //데이터의 위치를 직접 지시할 수 있다. 위치를 it으로 나타낸다. //System.out.println(it.hasNext());//data가 있습니까 - hasNext 물어보는것 //있으면 true //System.out.println(it.next());//data를 꺼내는것 data가없으면 false System.out.println(); //홀수제거방법2 Iterator<Integer> it = ll.iterator(); while(it.hasNext()) { int n = it.next();//n은 가져온 데이터 if(n%2==1) { it.remove();//it으로 삭제 } } System.out.println(ll.size()); ll.clear();//안의 데이터 삭제 System.out.println(ll.size()); LinkedList<Integer> ll2 = new LinkedList<>(); ll2.add(80); ll2.add(70); ll2.add(30); ll2.add(90); ll2.add(50); Collections.sort(ll2); System.out.println(ll2); LinkedList<String> ll3 = new LinkedList<>(); //문자열만 가능하다 ll3.add("독수리"); ll3.add("앵무새"); ll3.add("고양이"); //1 System.out.println(ll3); //2 for (int i = 0; i < ll3.size(); i++) { String n2 = ll3.get(i);//i번째를 꺼낸다. System.out.print(n2+" "); } System.out.println(); //3 for (String i : ll3) { System.out.print(i+" "); } //update ll3.set(0, "코끼리"); System.out.println(); System.out.println(ll3); //delete ll3.remove("앵무새"); System.out.println(ll3); } } | cs |
42
728x90
'비트 단기 > java' 카테고리의 다른 글
java 다형성 (0) | 2018.12.05 |
---|---|
java LInkedList 후~ (0) | 2018.12.04 |
24~ 31 (0) | 2018.11.29 |
java class 2 17~24 (0) | 2018.11.28 |
java class시작 (0) | 2018.11.27 |
댓글