본문 바로가기

JAVA공부

(77)
Stack 예제 package secondJava.collection; import java.util.Stack; public class Col03 { // Stack // 값을 수직으로 쌓아놓고 넣었다가 빼서 조회하는 형식으로 데이터를 관리 합니다. // 나중에 들어간 것이 가장 먼저 나온다(Last-In-First-out) // 넣는 기능(`push()`) 과 조회(`peek()`), 꺼내는(`pop()`) 기능만 존재합니다. // 이렇게 불편하게 쓰는 이유는 최근 저장된 데이터를 나열하고 싶거나 데이터의 중복처리를 막고싶을때 사용합니다. public static void main(String[] args) { // Stack // (사용하기 위해선 import java.util.Stack; 를 추가해야합니다...
LinkedList 예제 package secondJava.collection; import java.util.LinkedList; // `LinkedList` // 메모리에 남는 공간을 요청해서 여기저기 나누어서 실제값을 담아놓는다 //, 실제값이 있는 주소값으로 목록을 구성하고 저장는 자료구조 // 기본적인 기능은 `ArrayList` 와 동일!! // `LinkedList` 는 값을 나누어 담기 때문에 모든값을 조회하는 속도가 느리다. // 값을 중간에 추가하거나 삭제할때는 속도가 빠릅니다. public class Col02 { public static void main(String[] args) { // LinkedList // (사용하기 위해선 import java.util.LinkedList; 를 추가해야합니다...
List 예제 package secondJava.collection; import java.util.ArrayList; public class Col01 { public static void main(String[] args) { //List //순서가 있는 데이터의 집합 => Array최초 길이를 알아야 함) //처음에 길이를 몰라도 만들 수 있음! // 1)Array => 정적배열 // 2)List(ArrayList) -> 동적배열(크기가 가변적으로 늘어난다.) // - 생성 시점에 작은 연속된 공간을 요청해서 참조형 변수들을 담아놓는다. // - 값이 추가될 떄 더 큰 공간이 필요하면 더큰 공간을 받아서 저장하니깐 상관없다! // // ArrayList // (사용하기 위해선 import java.util...
컬렉션 컬렉션 이해하기 Java 에서 컬렉션 은 배열보다 다수의 참조형 데이터를 더 쉽고 효과적으로 처리할 수 있는 기능을 많이 가지고 있습니다. 컬렉션 기능 : 크기 자동조정/ 추가/ 수정/ 삭제/ 반복/ 순회/ 필터/ 포함확인 등…. 컬렉션 종류 Collection 에는 List, Set , Queue , Map 이 있습니다. List : 순서가 있는 데이터의 집합 (데이터 중복 허용) - 배열과 비슷 Queue : 빨대처럼 한쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합 First In First Out : 먼저들어간 순서대로 값을 조회할 수 있다. Set : 순서가 없는 데이터의 집합 (데이터 중복 허용 안함) - 순서없고 중복없는 배열 Map : 순서가 없는 (Key,Value) 쌍으로 이..
다차원 배열 2차원 배열(2열 배열), 순회 1열로 구성된것을 배열이라고 하고, 이것은 말그대로 1열로 되어있기 때문에 1열배열 즉, 1차원 배열 이라고도 부릅니다. 1열배열을 위로 쌓으면 2열배열이 되고 이걸 2차원 배열이라고 합니다. 선언 2차원 배열을 선언할때는 1차원 배열에 대괄호를 하나더 추가해주면 됩니다. int[][] array int array[][] int[] array[] 생성 2차원 배열을 생성할때도 대괄호를 하나더 추가하면 됩니다. int[][] array = new int[][]; 초기화 // 중괄호를 사용해 초기화 int[][] array = { {1, 2, 3}, {4, 5, 6} }; // 반복문을 통한 초기화 int[][] array = new int[2][3]; // 최초 선언 for..
String 배열 String 배열 선언, 생성, 초기화 배열 중에서도 가장 많이 사용하게될, 문자열 배열인, String . 선언하고 생성하는 방법은 기존 배열과 동일하다. String 배열 선언과 생성 예제 package secondJava.array; public class Arr05 { public static void main(String[] args) { //문자(char) / 1byte, 문자열(String) //String = char[] //(기본형 변수 vs 참조형변수) //1. 기본형 변수는 '소문자로 시작함' 반면, 참조형 변수는 '대문자로 시작함' // -Wrapper class에서 기본형 변수를 감싸줄 떄(boxing), int -> integer //2. 기본형 변수는 값 자체를 저장, 참조형 ..
배열 - 복사 복사 (.clone()) 얕은 복사 배열은 참조형 변수이며 실제값이 아닌 실제값의 주소값을 가진다. 따라서 배열 변수간에 대입 연산자 = 를 사용해서 복사를 하게 되면 주소값만 복사된다. 이렇게 주소값만 복사되고 실제값은 1개로 유지되는걸 얕은 복사 라고 한다! 주소값만 복사된다? 주소값만 복사된다는건 변수명은 서로 다르지만 같은 값을 보고 있다는것을 뜻해요. 비유하자면 내가 가진 핸드폰, PC 로 각각 카카오톡에 로그인해도 나의 카톡 계정은 1개인것처럼, 변수명은 여러개지만 결국 실제값은 1개인것과 같다고 보시면 됩니다. 예제 public class Arr03 { public static void main(String[] args) { //얕은 복사 int[] a = { 1, 2, 3, 4 }; int..
배열 선언 int 와 같은 기본형 변수는 1개의 값만 변수에 저장할 수 있다면 int[] 와 같은 배열형 변수는 여러개를 변수에 저장할 수 있습니다. 한번에 많은 양의 데이터를 다루거나 계산할때 사용합니다. 배열은 영어로 Array 라고 부릅니다. 선언방법은 아래 2가지 방법이 있습니다. 타입 [] 변수; ex. int[] intArray; 타입 변수[]; ex. int intArray[]; 예제) // 배열 선언 // 일반적인 선언방식 int[] intArray; // 정수 배열 long[] longArray; double[] doubleArray; // 실수 배열 char[] charArray; // 문자 배열 String[] stringArray; // 문자열 배열 // 배열 선언 // 2번째 선언방식 ..