[JAVA] Array, ArrayList

타키탸키·2022년 9월 1일
0

JAVA

목록 보기
7/8
  • 배열
    • 같은 타입의 여러 값을 저장할 수 있는 구조
  • enhanced for loop
int[] marks = { 20, 30, 60 };
int sum = 0;

// 배열 안에 있는 mark에 대해 반복 실행
for(int mark:marks)
{
	sum += mark; // 110
}
  • 배열 선언
    • int[] marks3 = new int[3];
    • 배열 값을 지정하지 않으면 모두 0으로 초기화
    • 크기를 지정해줘야 한다
  • array.length는 속성
    • string.length는 메서드
  • 연습 문제
int[] arrs = new int[8];

for(int i = 0; i < arrs.length; i++)
{
	System.out.println(arrs[i]);
}

// or

for(int mark:marks)
{
	System.out.println(mark);
}
  • 배열 원소 모두 출력
System.out.println(Arrays.toString(marks));
// [1,2,3,4,5]
  • 배열 초기값 설정
    • Array.fill(makrs, 100)
    • marks 배열을 100으로 초기화
  • 배열 비교
    • Array.equals(arr1, arr2)
      • 길이가 같고 값이 같을 때 true
  • 배열 정령
    • Array.sort(arr)
  • BigDecimal 연산은 메서드로 할 것
    • ex:) BigDecimal(a).divide(new BigDecimal(b))
  • divide
    • 나눌 수, 자릿수, 반올림
    • 반올림: RoundingMode.

  • inline
    • 변수가 아닌 실제 값으로 대체하는 것
    • ex:) int i = 2; int j = 2 + 3;
    • 오른쪽 클릭 -> Refactor -> Inline
    • 배열 inline에는 new int[]가 따라 붙는다
      • new int[] {80, 90, 100}
  • 가변 인수
    • 가변 인수는 가장 마지막에 정의되어야 한다
void print(int... values) // values가 몇 개인지 모를 때
{
	System.out.println(Array.toString(values));
}

int sum(int... values)
{
	int sum = 0;
    
    for(int value:values)
    {
    	sum += value;
    }
    
    return sum;
}

  • 이클립스 자동 생성
    • Alt + Shift + S
    • getter and setter
    • hash code, equals, toString, super class

  • 한 번 생성된 배열 크기는 바꿀 수 없다

  • 배열 요소 추가 / 삭제

    • 새로운 배열을 생성해야 한다
int marks = { 12, 34,45 }

int newMarks = new int[mark.length + 1]

int newMarksWithOneDeleted = new int[marks.length -1]
  • ArrayList
    • 데이터 그룹인 Collection의 일종
    • 크기를 자유롭게 다룰 수 있는 자료 구조
    • 추가: .add
    • 제거: .remove
    • String ArrayList
      • 제네릭
      • ArrayList<String> items = new ArrayList<String>()
  • toString으로 객체의 정확한 내용 출력하기
    • 객체를 그냥 출력할 경우, 해시코드 형태로 출력됨
public String toString() 
{
	return name; // 필드
}
  • ArrayList 최댓값 / 최솟값 구하기
    • Collections.max(ArrayList)
    • Collections.min(ArrayList)
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글