본문 바로가기
비트 단기/java

java 41번

by woohyun22 2018. 12. 3.

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(499);//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

댓글