코드 그라데이션
Day27-3. 자료구조와 컬렉션 (1) List 본문
리스트의 주요 명령어
명령어 | 기능 |
Add(객체) | 추가 (추가 => 끼워넣기!!) |
Add(index, 객체) | index에 추가 |
addAll(index, Collection) | index 지정위치에 Collection 추가 (리스트를 통으로 끼워넣는 것. 나머지 다 밀) |
get(index) | index 위치의 객체를 주는 것 |
indexOf(객체) | index 위치를 반환 |
lastIndexOf(객체) | 그 객체의 가장 마지막 index를 반환 |
remove(index) | index 위치의 객체를 삭제 |
set(index, 객체) | index 위치의 객체 교체(위치를 바꿔치기!) |
size() | 리스트의 길이 |
subList(from, to) | from ~ to 까지의 객체를 List로 반환 |
리스트 예제 1
public class ListTest1 {
public static void main(String[] args) {
String[] name = {"kim", "lee", "park", "jung", "oh"};
ArrayList<String> lname = new ArrayList<String>(Arrays.asList(name));
// 이 순간 lname에 이 name 배열이 들어간다.
System.out.println("초기 값 : " + lname);
lname.add("ha"); // oh 뒤에 붙는다
System.out.println("\"ha\" 가 추가된 후의 값 : " + lname );
lname.set(0, "김"); // 한글로 김으로 바뀜
lname.set(3, "곽"); // jung이 곽으로 바뀜
System.out.println("\"ha\" 로 변경되고 \"곽\" 이 추가된 값 : " + lname);
Collections.shuffle(lname); // 돌면서 섞여버림.
System.out.println("shuffle() 메소드가 적용된 값 : " + lname);
Collections.sort(lname); // 오름차순 자동 정렬됨.
System.out.println("sort() 메소드가 적용된 값 : " + lname);
System.out.println("5번째 요소의 값 : " + lname.get(4));
Collections.fill(lname, "김"); // 전부 김으로 바뀌어버림.
System.out.println("모든 요소를 \"김\" 으로 설정된 값 : " + lname );
}
}
출력 결과
초기 값 : [kim, lee, park, jung, oh]
"ha" 추가된 후의 값 : [kim, lee, park, jung, oh, ha]
"김"으로 변경되고 "곽"이 추가된 값 : [김, lee, park, 곽, oh, ha]
shuffle() 메소드가 적용된 값 : [park, 김, oh, lee, ha, 곽]
sort() 메소드가 적용된 값 : [ha, lee, oh, park, 곽, 김]
5번째 요소의 값 : 곽
모든 요소를 "김"으로 설정된 값 : [김, 김, 김, 김, 김, 김]
리스트 예제 2
class A{
int a;
int b;
A(int a, int b){
this.a = a;
this.b = b;
}
void print() {
System.out.println("a:"+a+",b :"+b);
}
}
public class ListTest2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<A> list = new ArrayList<>();
for(int i = 0;i<10;i++) {
list.add(new A(i,i+1));
}
for(int i =0;i<list.size();i++) {
list.get(i).print();
}
for(int i = 0;i<list.size();i++) {
if(list.get(i).b == 4) {
System.out.println(i);
}
}
}
}
출력 결과
a:0,b :1
a:1,b :2
a:2,b :3
a:3,b :4
a:4,b :5
a:5,b :6
a:6,b :7
a:7,b :8
a:8,b :9
a:9,b :10
3
728x90
'Java > Mega' 카테고리의 다른 글
Day28-29. 파일 입출력 (0) | 2023.04.24 |
---|---|
Day27-4. 자료구조와 컬렉션 (2) Stack (0) | 2023.04.23 |
Day27-2. 자료구조 도입 (0) | 2023.04.23 |
Day27-1. 제네릭 (0) | 2023.04.23 |
Day25. 추상화 (3) final, equals() (0) | 2023.04.17 |
Comments