[Java] String, StringBuilder, ArrayList

전두엽힘주기·2025년 9월 29일

Java

목록 보기
1/9

입출력

public static void main(String[] args){
	Scanner sc= new Scanner(System.in);
    String a=sc.next();
    System.out.printf(a);
}
  • System.out.print(a) : a값 그대로 출력, 줄바꿈 x
  • System.out.printf(a): 형식지정자(%s, %d, %.1f,\n)를 사용하여 원하는 형태로 출력할 수 있음
  • System.out.println(a) :print()에 자동 줄 바꿈 추가

여러 값 입력 받을 시 (4 5)

Scanner sc=new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();

substring()

문자열 잘라내는 함수

StringBuilder

string 객체는 불변
문자열을 더할 때 마다 새로운 객체가 메모리에 생성된다

StringBuilder sb=new StringBuilder();

//1. append
sb.append("hello");
sb.append("world');
System.out.println(sb.toString()); 
//hello world

//2. insert() : 특정 위치에 문자열 삽입
sb.insert(6,"java") //6번 인덱스에 "java" 삽입

//3. delete() : delete string
sb.delete(6,11); //delete string at index 6 to 11

//4. reverse() 
sb.reverse() //reverse string

toString()은 StringBuilder를 String으로 변환

cf) char type
in java, a+b is 97+98
internally adds two characters unicode
therefore you have to use + operator separately or use StringBuilder

charAt(i)

문자열에서 i번째 문자

toCharArray()

문자열을 문자 배열로 변경

String str = "Hello";
char[] charArrary = str.toCharArray();
//['H', 'e', 'l', 'l', 'o']

length vs. length()

배열길이: array.length
문자열 길이: string.length()

List, ArrayList list.size()

for문과 for-each문의 차이

  • 일반 for문 for (int i = 0; i < arr.length; i++)
    현재 몇번째 요소를 다루고 있는지 알 수 있음. 특정 위치의 값을 변경하거나 인덱스를 사용하여 처리할 때

  • for-each for (char c:Array)
    배열에 있는 모든 요소를 처음부터 끝까지
    인덱스 없이 각 요소의 값에만 접근

ArrayList

동적으로 리스트 사이즈 조절가능하다.
데이터 추가, 삭제, 검색, 정렬 등이 메소드로 만들어져 있다.

import java.util.ArrayList;
import java.util.Collections;

public class ArrayListEx{
	public static void main(String[] args){
    	//create string type data arraylist
    	ArrayList<String> animals=new ArrayList<>();
        
        //ADD
        animals.add(lion);
        animals.add(1,cat);
        System.out.println(animals.size()); //list length
        
        //read data
        String ani=animals.get(1);
        
        //find index
        int lionindex=animals.indexOf("lion");
        
        //delete data
        animals.remove("lion");
        
        //sort
        Collections.sort(animals);
    }
}

0개의 댓글