Set - 저장 순서가 x (값을 저장할 때와 값을 찾을 때 순서가 다를 수 있다) - 객체 중복 저장 x - 하나의 null 만 저장 가능 - 객체를 인덱스로 관리하지 x ㄴ 인덱스를 매개값으로 갖는 메소드(set.get() 등) 가 없다. ㄴ 대신, 전체 객체를 대상으로 한번씩 반복해서 가져오는 반복자(iterator)를 제공함. iterator() 메소드를 호출하면 얻을 수 있다. import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Set01 { public static void main(String[] args) { Set set = new HashSet(); set.add(5); set.ad..
import java.io.CharArrayReader; import java.util.Arrays; import java.util.List; public class Str01 { public static void main(String[] args) { ////문자 + 숫자 = 문자 ////문자 + 문자 = 문자 ////숫자 + 문자 = 문자 ////숫자 + 숫자 = 숫자 String str2 = "2" + 1 + 2 + 3 + "A"; System.out.println(str2); //2123A str2 = "2" + (1 + 2 + 3) + "A"; //괄호를 먼저 계산함 System.out.println(str2); //26A //배열값 쪼개기 str2 = "안녕하세요"; char[]hi = str..
Iterator Set컬렉션은 인덱스로 객체를 검색해서 가져오는 메소드가 없다. 대신, 전체 객체를 대상으로 한번씩 반복해서 가져오는 반복자(Iterator)를 제공한다. 반복자는 Iterator 인터페이스를 구현한 객체를 말하며, iterator()메소드를 호출하면 얻을 수 있다. Set set = map.keyset(); Iterator it = set.iterator(); //반복자 얻기 it.hasNext(); //객체 수만큼 루핑 //해당 iteration이 다음 요소를 가지고 있으면 true반환, 없으면 false(뽑아줄 내용이 있는지 질문) it.next(); //출력(다음 요소 반환) while(it.hasNext()) { System.out.println(it.next()); } 또는 I..
나는 왜 이 두개가 헷갈릴까? 안헷갈릴려고 정리해본다. compareTo() : 해당 값 위치(인덱스번호) 찾기. 값이 없는경우, -1 반환 ArrayListlist3 = new ArrayList(); for (int i = 1; i < 21; i++) { //배열에 1~20까지 숫자 넣기 list3.add(i); } System.out.println(list3.indexOf(10)); //10 (배열에 숫자 10이 몇번째에 있는지?) System.out.println(list3.indexOf(100)); //-1 (배열에 숫자 10이 없음) indexOf() : System.out.println(b3.compareTo(10)); //1 (같으면 0, 앞숫자가 크면 1, 뒷숫자가 크면 -1 반환) Int..
List 컬렉션 - List 컬렉션은 객체를 일렬로 늘어놓은 구조를 갖고있다. - 객체를 인덱스로 관리하며 객체를 저장하면 자동으로 인덱스가 부여됨. - List 컬렉션은 객체 자체르르 저장하는 것이x 객체의 번지를 참조하는 것! - 동일한 객체 중복저장 가능 (동일한 번지가 참조되는 개념) - null 도 저장 가능 (이 경우 해당 인덱스는 객체를 참조하지 않음) List의 배열생성 법 List list = new ArrayList(); 주로 이렇게 배열을 생성한다. 하지만 아래 방식으로도 배열을 생성할 수도 있다. ArrayList list = new ArrayList(); List 와 ArrayList의 차이점이 뭘까? List와 ArrayList는 부모자식 관계라고 할 수 있다. List 안에는 ..
컬랙션은 참조값(레퍼런스 R타입)만 담을 수 있다. 즉, 일반형(P타입) int, boolean 등은 담을 수 없다는 뜻. 하지만! 래퍼 클래스로 변환 후 저장이 가능하다. 래퍼 클래스 - 기본 자료형의 값을 멤버 변수에 저장하고, 이 값 주변으로 값을 감싸고 있는 메소드가 있다고 해서 래퍼(wrapper, 감싸다) 클래스라고 불린다. (값을 하나 포장하고 주변에 다양한 메소드를 갖게됨(예. byteValue(), shortValue() )) - 기본 자료형의 값을 컬랙션에 저장하기 위해 사용함. - 아래와 같이 모든 기본 자료형에 대해 그에 대응되는 래퍼 클래스가 있다. 기본타입 -> 래퍼 클래스명 byte -> Byte short -> Short int -> Integer (풀네임) long -> L..
is a : ~은 ~ 이다. class Human{ String name; int age; int gender; } class Student extends Human{ //'학생은 사람이다' int number;//학번 String major;//과 } has a : ~은 ~을 가지고 있다. class Gun{ String name; int shot=1;//총알 } class Police{ //경찰은 총을 가지고 있다. // 경찰 클래스 속에 총 클래스의 객체를 멤버로 가지고 있는 경우 Gun gun1; } public class Is { public static void main(String[] args) { Police police = new Police(); Gun gun = new Gun(); p..
호출 스택 : 메인 메소드(지역변수) - 메소드 작업에 필요한 메모리 공간을 제공함. - 메소드가 호출되면 호출 스택에 메소드 활용을 위한 메모리가 할당됨. - 메모리에서 메소드가 작업을 수행하는 동안 지역 변수와 연산의 중간 결과가 저장됨. - 메소드가 작업을 마치면 할당된 메모리 공간은 반환/비워짐. - 호출 스택의 제일 상위에 있는 메소드는 지금 실행되고 있는 메소드다. 그때 나머지는 모두 대기한다. (제나 호출스택 제일 위에 있는 메소드가 실행중인 메소드. 아래에 있는 메소드가 바로 위에 있는 메소드를 호출해서 사용중인 메소드) 메소드 영역 : 클래스 데이터(클래스 변수). 프로그램실행 중 어떤 클래스가 사용되면 JVM은 해당 클래스 파일을 읽어서 클래스 데이터를 이곳에 저장하며 동시에 클래스 변..
- Total
- Today
- Yesterday