ArrayList
Group Algorithm - 그룹 알고리즘
1. Group Algorithm - 그룹 알고리즘 package Algorithm; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class GroupAlgorithm { //[?] 컬렉션 형태의 데이터를 특정 키 값으로 그룹화 //그룹 알고리즘(Group Algorithm) : 특정 키 값에 해당하는 그룹화된 합계 리스트를 만듦 public static class Record{ private final String name;//상품명 private final int quantity;//수량 public Record(String name, int quantity) { this.name = name; t..
JAVA Basic) 컬렉션 프레임워크 - List 인터페이스
'컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com 목차 'List 인터페이스'에는 객체를 순서에 따라 저장하고 유지하는 데 필요한 메서드가 선언되어 있다. 우리가 알고 있는 순차 자료 구조의 대표적인 예는 '배열'이다. 배열은 앞에서 다뤘었는데 자바에서 배열을 구현한 대표적인 클래스는 ArrayList와 Vector가 있고, 구현 방식은 다르지만 순차 자료 구조를 구현한 LinkedList가 있다. 그럼 객체 배열로 가장 많이 사용하고, 자주 활용한 Arra..
JAVA Basic) 다형성 활용하기
목차 상속과 다형성을 활용하면 프로그램을 유지보수하는 데 굉장히 편리하다. 여기에 배열까지 함께 사용하게 되면, 여러 하위 클래스 자료형을 상위 클래스 자료형으로 한꺼번에 관리할 수도 있게 된다. 새로운 요구 사항이 발생했다..! [예제 시나리오] 고객이 늘어 VIP등급 보다 물건을 많이 구매하진 않지만, 그래도 혜택을 주는 등급(GOLD)을 추가하고 싶습니다. -제품을 살 때는 항상 10% 할인. -보너스 포인트 2% 적립 -담당 전문 상담원 X 새로운 고객 등급이 생겼다. 이 등급의 고객은 VIP고객과 보너스 포인트 적립률이 다르고, 담당 상담원이 없다. 이 내용을 기반으로 Customer클래스를 상속받아 'GoldCustomer클래스'를 만들어보자. 고객 관리 시스템은 다음과 같은 계층구조로 확장될..
JAVA Basic) 배열 응용 프로그램
목차 ArrayList를 사용해 '학생 성적 출력 프로그램'을 구현해보자. 이 프로그램은 'Student클래스'와 'Subject클래스'를 사용한다. Subject클래스는 참조 자료형이므로 ArrayList를 활용해 구현해보자. student클래스 구현하기 어떤 학생이 수강하는 과목들의 성적을 출력하는 것이므로 '학생 객체'가 필요. package array; import java.util.ArrayList; public class Student { int studentID; String studentName; ArrayList subjectList; // Student클래스의 멤버 변수들 public Student(int studentID, String studentName) { this.student..
JAVA Basic) ArrayList 클래스
목차 앞서 배운 기본 배열은 프로그램에서 사용하려면 항상 배열 길이를 정하고 시작한다. 따라서 나중에 요소가 추가되어야 하는데 정해놓은 길이를 넘어버린다거나, 또는 중간의 요소를 삭제해야 하면 (배열은 중간의 요소를 비울 수 없음.) 작성한 코드를 하나하나 수정해야 하는 불상사가 생겨버린다. 따라서 자바는 객체 배열을 좀 더 쉽게 사용할 수 있도록 '객체 배열 클래스 ArrayList'를 제공한다. ArrayList 클래스는 객체 배열을 관리할 수 있는 멤버 변수와 메서드를 제공. ArrayList 클래스에는 이미 만들어져 있는 메서드가 많이 있다. 그중 가장 많이 사용하는 메서드는... add()메서드를 이용하면 배열 길이와 상관 없이 객체를 추가할 수 있다. 만일 배열의 길이가 추가될 요소 개수보다 ..