목록프로그래밍/java (49)
쌓고 쌓다
1. (1) a, set() (2) a, b, c, set() (3) a, b, c, d, e, set() (4) 1번 라인 -> private인 a는 수정 불가 2. 1번 Object 클래스 3. class Pen { private int amount; public int getAmount() { return amount; } public void setAmount(int amount) { this.amount=amount; } } class SharpPencil extends Pen { private int width; } class BallPen extends Pen { private String color; public String getColor() { return color; } public ..
ArrayArrayList 변환 ( Array -> List -> ArrayList ) public static void main(String[] args) { String[] arrColors = {"white", "orange", "black"}; List lst = Arrays.asList(arrColors); // List는 인터페이스 ArrayList aLst = new ArrayList(lst); System.out.println("ArrayList contains"+aLst); String[] temp = aLst.toArray(new String[aLst.size()]); for(String t : temp) System.out.print(t+" "); } 실행 결과 ArrayVector ..
개인적으로 작성한 클래스들을 이용하기에 개인적으로 개념정리하는 글입니다. 개인적으로 작성한 Score 클래스를 정렬을 구현하기 위해 implements Comparable를 추가해주자. class Score implements InterScore, Comparable { ... private String No; private int sc[]; ... public int compareTo(Score other) // 정렬 기준 메소드 구현 { Double myAvg = getAvg(); // sc에 담긴 int의 평균을 반환 Double otherAvg = getAvg(); // 평균 반환 return myAvg.compareTo(otherAvg); // Wrapper 클래스는 이미 적절한 compareT..
java.util.LinkedList List 인터페이스를 구현한 컬렉션 클래스 Vector, ArrayList 클래스와 유사하게 작동 요소 객체들은 양방향으로 연결 요소 객체는 맨 앞, 맨 뒤, 중간에 삽입 가능 스택, 큐로 사용 가능 LinkedList LinkedList l = new LinkedList(); LinkedList 예문 public class Test { public static void main(String[] args) { LinkedList lst = new LinkedList(); lst.add("AAA"); lst.add("BBB"); lst.add(1,"CCC"); lst.addFirst("DDD"); lst.addLast("EEE"); System.out.println(l..
컬렉션의 순차 검색을 위한 Iterator(일방향) - iterator() 적절한 순서로 컬렉션 요소를 순차 검색하는 Iterator 객체 반환 Vector, ArrayList, LinkedList가 상속받는 인터페이스의 메소드이다. 즉, 컬렉션의 iterator() 메소드 호출하면 Iterator 객체를 얻을 수 있다. 해당 컬렉션을 순차 검색할 수 있는 Iterator 객체 리턴 Vector v = new Vector(); ... Iterator it = v.iterator(); while(it.hasNext()) // 모든 요소 방문 { int n = it.next(); // 다음 요소 리턴(순차적) ... } 모든 요소 방문은 v.size(), v.get() 등으로 구현할 수 있지만 Iterato..
1번 문제 코드 import java.util.Scanner; class MyPoint { int x; int y; MyPoint(int x, int y) { this.x=x; this.y=y; } public String toString() { return "Point("+x+","+y+")"; } boolean equals(MyPoint mp) { if(this.x==mp.x&&this.y==mp.y) return true; return false; } } public class Extest{ public static void main(String[] args) { MyPoint p = new MyPoint(3,50); MyPoint q = new MyPoint(4,50); System.out.pri..
소스 코드 import java.util.Scanner; public class Extest{ static String readString() { StringBuffer sb = new StringBuffer(); Scanner scanner = new Scanner(System.in); while(true) { String line = scanner.nextLine(); if(line.equals(";")) break; sb.append(line); } return sb.toString(); } public static void main(String[] args) { int cnt[]= new int[26]; String res = readString().toLowerCase(); for(int i=0..
배열의 문제점 고정된 크기 삽입, 삭제시 위치 조정이 까다로움 컬렉션 : 요소(Element)라고 불리는 가변 개수의 객체들의 저장소 객체들의 컨테이너라고도 불림 요소의 개수에 따라 크기 자동 조절 요소의 삽입, 삭제에 따른 요소의 위치 자동 이동 ( 객체의 개수, 자리이동 등 편리 ) 다양한 객체들의 삽입, 삭제, 검색 등 관리가 용이 (컬렉션 인터페이스와 클래스) 컬렉션의 특징 컬렉션은 제네릭(Generics) 기법으로 구현 제네릭 특정 타입만 다루지 않고, 여러 종류의 타입으로 변신할 수 있도록 클래스나 메소드를 일반화 시킴 클래스나 인터페이스 이름에 , , 등이 '타입 매개변수'이며 이것을 포함 E : Element (요소) T : Type V : Value K : Key 를 의미 벡터 Vecto..