집 짓는 개발블로그
Java 기초(3일차) 본문
Q. 정수 배열 sorting하는 방법?
int 배열 소팅은 java.util 패키지에서 Arrays클래스를 import한 뒤 sort를 이용한다.
이렇게 하면 원본 배열이 변경된다.
import java.util.Scanner;
import java.util.Arrays;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int[] students = new int[28];
for (int i=0;i<28;i++){
students[i] = sc.nextInt();
}
Arrays.sort(students); // 원본 변경
}
}
Q. 자바에서 primitive type과 reference type의 차이는?
1) Primitive type - 기본 자료형
- "실제 값"을 저장함 → 스택(Stack)에 저장됨
- double, float, long. int, short, byte, char, boolean
- 기본값이 있다. (따라서 null이 존재하지 않는다.)
2) Reference type - 참조 타입
- 실제 값이 저장된 곳의 "주소값"을 저장함 -> 힙(Heap)에 저장됨
- Array, Enumeration, class, Interface
- 빈 객체를 의미하는 null이 존재한다.
Q. 자바에서 int와 Integer의 차이는?
int는 primitive class고 Integer는 Wrapper class다.
- Wrapper class는 primitive class를 객체로 '포장'한다.
- int와 Integer 제외 모든 경우에 primitive의 첫 글자만 대문자로 바꾸면 Wrapper class의 이름이 된다.
- Wrapper class는 산술 연산이 불가능하다. primitive type로 Unboxing해야만 연산이 가능해진다.
한 가지 용도를 들자면 문자열을 받아서 primitive type으로 바꿔줄 때 이용할 수 있다.
int i = Integer.parseInt(str);
아래로는 백준 연습문제
나머지(3052)
제출한 코드
import java.util.Scanner;
import java.util.Arrays;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
for (int i =0;i<10;i++){
arr[i] = (sc.nextInt()) % 42;
}
int[] newarr = Arrays.stream(arr).distinct().toArray();
System.out.println(newarr.length);
}
}
- 중복 제거
자바에서 배열의 중복된 요소를 제거하고 새로운 배열 만드는 방법에는 2가지가 있다.
첫 번째가 distinct()를 이용하는 방법이다.
int[] newarr = Arrays.stream(arr).distinct().toArray();
두 번째로 Set을 이용하는 방법이 있는데, 이후에 따로 포스팅하겠다.
- 길이 구하기
int myarraylength = arr.length;
// 배열의 길이는 .length로 구한다.
int myStrlength = Strr.length();
// 문자열의 길이는 .length()
int mySize = Set1.size();
// Arraylist, Set 등의 Collection 객체의 길이는 size()로 구한다.
'Java' 카테고리의 다른 글
하루만에 코딩테스트 언어 갈아타기(Python → Java)(3 Array) (4) | 2024.11.15 |
---|---|
하루만에 코딩테스트 언어 갈아타기(Python → Java)(2 ArrayList) (2) | 2024.11.15 |
하루만에 코딩테스트 언어 갈아타기(Python → Java)(1) (3) | 2024.11.15 |
[Java] subList 사용법 (1) | 2023.12.10 |
Java 기초(2일차) (0) | 2023.08.06 |