• 자바 함수 정리

    2021. 10. 7.

    by. 하루플스토리

    반응형

    안녕하세요, 하루플입니다.

     

    안드로이드 개발이나 코딩 테스트 공부에 활용할 수 있는 자바 함수를 정리하는 게시글입니다.

    개발하다 추가적인 함수가 필요할 때마다 업데이트 하겠습니다. 


    문자열을 정수로 변환 String -> Integer

    Integer.parseInt("1004");

    Integer.parseInt("1004", 10); //10진수

    Integer.parseInt("1004", 8); //8진수

     

    정수를 문자형으로 변환 Integer -> String

    Integer.toString(1004);

    String.valueOf(1004);

     

    문자 치환 : 한 문자를 다른 문자로 바꾼다. char 타입의 인자를 받는다.

    String str = "ABCDE";

    String text = str.replace('C', 'F'); //모든 C문자를 F로 바꾼다.

    text : ABFDE

     

    int, long 타입을 char로 변환

    long n = 68451343815;

    char[] arr = String.valueOf(n).toCharArray(); //String으로 먼저 변환 후 char로 변환한다.

     

    소문자로 치환

    String str = "abcde";

    String small = str.toLowerCase();

     

    대문자로 치환

    toUpperCase();

     

    대, 소문자인지 판단

    Character.isLowerCase()

    Character.isUpperCase()

     

    char ch = 'a';

    if(Character.isLowerCase(ch)){ //소문자
         ch = (char)((ch-'a'+n)%26 + 'a');
    }

     

     

    한 글자식 읽기

    String str = "abcde";

    for(int i=0; i<5; i++){

        char ch = str.charAt(i);

    }

     

    특정 값이 포함되어 있는지?

    ArrayList<Integer> list = new ArrayList<>(Arrays.asList(10,6,20,3));

    Int a = list.indexOf(6); //0 있으면 0

    Int b = list.indexOf(7); //-1 없으면 -1

     

     

    문자열 원하는 만큼 자르기

    String str = "abcde";

    String result = str.substring(3); //3번째 인덱스부터 값 저장

    result : de

     

    String str = "abcdefg";

    String result = str.substring(3,6); //3~5번째 인덱스까지 값 저장

    result : def

     

     

    두 값중 더 크거나 작은 값

    Math.max(5, 2); //5

    Math.min(5, 2); //2

    Math.max(Math.max(5,2), 7); //7

     

     

    가변 리스트 ArrayList

    ArrayList list = new ArrayList(); //타입 미설정 Object로 선언된다.

    ArrayList<Integer> list = new ArrayList<Integer>(); //int 타입만 사용가능.

    ArrayList<Integer> list = new ArrayList<>(); //new 에서 타입 파라미터 생략가능.

    ArrayList<String> list = new ArrayList<String>(); //String 타입만 사용가능.

     

    ArrayList list = new ArrayList<Integer>();

    list.add(3); //값 추가.

    list.add(null); //null 값도 add 가능.

    list.add(10, 3); //index 10에 3 삽입.

    list.remove(3); //index3 제거

    list.clear; //모든 값 제거

    list.size(); //list 크기

    list.contains(3); //list에 3이 있는지 검색 true, false 리턴

     

     

    int 배열 오름차순 정렬

    int arr[] = {4,22,33,15,17,19};

    Arrays.sort(arr);

     

    String 배열 오름차순 정렬

    String arr[] = {"apple","orange","banana","pear","peach","melon"};

    Arrays.sort(arr);

     

    내림차순 정렬

    Arrays.sort(arr, Collections.reverseOrder());

     

    배열 일부분만 정렬

    int arr[] = {4,22,33,15,17,19};

    Arrays.sort(arr, 0, 4); //0~3 인덱스만 정렬

     

    ArrayList를 일반 배열로 변환

    int[] answer = {2, 5, 10, 15}; //일반 배열

    ArrayList<Integer> arrList = new ArrayList<Integer>(); //가변 리스트

     

    answer = new int[arrList.size()]; //answer 리스트 크기 선언.

    for(int i=0; i<answer.length; i++){

         answer[i] = arrList.get(i);

    }

    return answer;

     

     

    문자열 비교할때는 equals 쓰는게 좋다

    == 을 사용하면 주솟값을 비교하는데 null 값을 참조할 수도 있어서 에러남.

    equals가 값 자체를 비교하는거다.

     

    String str = "abc";

    if(str.equals("abc")){

           System.out.println("abc 있음.")

    }

     

    배열 복사하기 Arrays.copyOfRange

    Arrays.copyOfRange(배열 이름, 시작 인덱스, 끝 인덱스)

    int[] temp = Arrays.copyOfRange(array, 2,5);

     

    반응형

    댓글