목록컴퓨터 (50)
꿈 많은 사람의 이야기
Map 컬렉션은 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있다. 여기서 키와 값은 모두 객체이다. 키는 중복 저장될 수 없지만 값은 중복 저장될 수 있다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치된다. Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있다. 밑은 Map 컬렉션에서 공통적으로 사용 가능한 Map 인터페이스의 메소드들이다. 기능 메소드 설명 객체 추가 V put(K key, V value) 주어진 키와 값을 추가, 저장되면 값을 리턴 객체 검색 boolean containsKey(Object key) 주어진 키가 있는지 여부 b..
1 2 3 4 5 6 7 8 9 10 일반적인 2차원 배열 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 private void test01(){ int[][] arr = new int[5][5]; boolean b = false; int number = 1; for(int i = 0 ; i
자바로 간단한 로또 프로그램을 만든다. 난수로 6개의 배열에 값을 저장하고 중복을 체크도 한다. (이 부분은 값을 적게해서 비교를 빠르게 해보는 예제이다. 실제로 해보려면 로또 숫자만큼 6을 변경해주면 된다 45인가..?) 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 public void start() { int[] lotto = new int[6]; boolean check = false; int cnt = 0; Random rand = new Random(); while(cnt
그리고 기본적인 데이터를 넣어보자 먼저 mysql에서 테이블과 데이터를 넣어보자 create table member( code char(4) not null, name varchar(30) not null, id varchar(30), pwd varchar(15), age int(3) ); create table saram( id varchar(20), name varchar(20), age tinyint ); insert into member values('1001', '강지아', 'jeea', '1111', 20); insert into member values('1002', '이장미', 'rose', '2222', 30); insert into member values('1003', '김백합', '..
Math 클래스 java.lang.Math 클래스는 수학 계산에 사용할 수 있는 메소드를 제공하고 있다. Math 클래스가 제공하는 메소드는 모두 정적(static) 이므로 Math 클래스로 바로 사용이 가능하다. 다음은 Math 클래스가 제공하는 메소드를 설명한 표이다. 메소드 설명 예제코드 리턴값 int abs(int a) double abs(double a) 절대값 int v1 = Math.abs(-5); double v2 = Math.abs(-3.14); v1 = 5 v2 = 3.14 double ceil(double a) 올림값 double v3 = Math.ceil(5.3); double v4 = Math.ceil(-5.3); v3 = 6.0 v4 = -5.0 double floor(doubl..
배열을 정렬하는 방법은 프로그래머가 직접 정렬 메소드를 만들어 사용할 수도 있지만 기본적으로 자바에서 제공해주는 정렬 기능도 있다. Arrays.sort()를 이용하면 된다. Arrays 클래스에 있는 sort()메소드이다. 다음 예제를 보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class SortEx { public static void main(String[] args) { int[] scores = {99, 95, 98}; Arrays.sort(scores); for(int i = 0 ; i
문자열이 정해져 있는 형식(정규 표현식)으로 구성되어 있는지 검증해야 하는 경우가 있다. 예를 들어 이메일 등이다. 그것을 검증 하는 방법이 있다. 정규 표현식 작성 방법 기호 설명 [ ] 한 개의 문자 [abc] a,b,c중 하나의 문자 [^abc] a,b,c 이외의 하나의 문자 [a-zA-Z] a~z, A~Z중 하나의 문자 \d 한 개의 숫자,[0-9]와 동일 \s 공백 \w 한 개의 알파벳 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일 ? 없음 또는 한 개 * 없음 또는 한 개 이상 + 한 개 이상 {n} 정확히 n개 {n,} 최소한 n개 {n, m} n개에서부터 m개까지 ( ) 그룹핑 ^ 시작 $ 끝 이 표를 가지고 실습을 해보자 다음은 02-123-1234 또는 010-1234-5678과 ..
자바 문자열을 처리할 때 특정 구분자로 연결되어 있을 경우 구분자를 기준으로 부분 문자열을 분리하기 위해서는 String의 split() 메소드를 이용할 수 있다. 1 2 3 4 5 6 7 String text = "이&김,박-최"; String[] n = text.split("&|,|-"); for(String name : n) { System.out.println(name); } Colored by Color Scripter cs split 메소드 안에는 정규표현식이 들어간다. & 또는 , 또는 - 가 들어가면 분리해서 문자열 배열에 넣는다. 즉 해당 문자열을 구분자로 구분지어 배열로 만든다. 그리고 그 배열을 출력하면 분리되어 저장되어 있는 것을 볼 수 있다. 문자열을 저장하는 String은 내부의..
연결리스트란 자료가 링크로 연결되어 있는 구조를 말한다. 말 다 필요없고 그림으로 보면 간단하다. 이렇게 되어 있는 것이 연결리스트이다. 예시로 설명하면 노드는 이름과, 다음번지 값을 가지고 있다. 10번지 노드는 이름이 김, 다음번지(20)의 값 20번지 노드는 이름이 이, 다음번지(30)의 값 30번지 노드는 이름이 박, 다음번지(40)의 값 40번지 노드는 이름이 홍, 다음번지(null)의 값 이다. 40번지 값이 가장 최근에 들어온 값으로 했다 (새로운 노드를 start 지점에 두는 방법도 있지만 본인은 이런식으로 구현했다) 기본적으로 자바에선 LinkedList를 클래스로 제공해주지만 직접 소스로 구현해보면 객체지향, 자료구조 등의 측면에서 많은 도움이 된다. cur은 값이 추가될 때마다 맨 끝..
자바의 문자열은 java.lang 패키지의 String 클래스의 인스턴스로 관리된다. 소스상에서 문자열 리터럴은 String 객체로 자동 생성되지만 String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성할 수도 있다. String 클래스에는 여러개의 생성자가 존재하는데 대표적인 생성자는 String str = new String(byte[] byte); -> 배열 전체를 String 객체로 생성 String str = new String(byte[] bytes, int offset, int length); -> 배열의 offset 인덱스 위치부터 length만큼 String 객체로 생성 등의 10가지 정도의 생성자가 존재한다. String 클래스는 문자열의 추출, 비교, 찾기, 변환..