Java/공부20 [자바] split 사용 방법 코딩테스트 새로운 버전으로 readline()을 사용하게 되면서 split에 대해 헷갈리는 부분이 있었다. "a, b, c" 라는 문자를 받으면 나는 그걸 쪼개서 ["a", "b", "c"]라는 문자배열로 만든 후 가공해야 한다. 단순하게 나는 아래와 같이 생각했다. String[] cars = Console.readLine().split(","); 이러면 알아서 쪼개 들어갈 줄 알았다 ^^..(민망) 하지만 내가 원하는 값을 얻으려면 String answer = Console.readLine(); String[] args = answer.split(","); 위와 같이 입력된 값을 String 으로 받고, 쪼개서 배열에 입력해주어야 한다. 가끔 내가 이렇게 생각이 짧을 때가 있다. 허허.. 2023. 10. 31. 큐 날라가서 다시 쓰는 글.... 큐에 대한 이해를 돕기 위해 프로그래머스 문제를 가지고 왔다. 문제 풀이 순서 1. 남은 작업 일수를 구하기(큐로 저장) 2. 배포 순서 계산하기 3. return값에 넣기 import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { List answer = new ArrayList(); Queue queue = new LinkedList(); //작업 일수 구하기 for(int i =0; in).toArray(); } } 메소드 1. 삽입 add() : 삽입에 성공하면 true 반환. offer() : 삽입만 함 2.삭제 poll() : 큐의 첫 번째 원소 반환 후 큐.. 2023. 8. 13. 필터 필터는 서블릿 필터라고도 하며 리스너와 마찬가지로 웹 앱을 지원하기 위한 특수한 형태의 서블릿이다. 클라이언트의 특정 요청에 따라 서블릿이나 JSP가 실행되기 전에 response 혹은 request 객체의 조작이나 추가적인 처리를 할 수 있다. 여러 개의 필터는 정해진 순서대로 요청 처리 전에 먼저 실행된다. 리스너처럼 기능만 구현하는 웹 프로그램의 경우에는 필터가 불필요하다. 하지만 앱 설계 관점에서 더 효과적인 앱 구현 및 운영이 필요하다고 판단되면 필터를 이용하는 것이 좋다. 필터의 구조와 동작 과정 필터는 톰캣 서버를 시작할 때 필터 구현 클래스의 어노테이션을 참조하여 인터페이스를 구현한 클래스가 초기화된다. 또한 필터는 여러 개 존재할 수 있으며 필터는 각각 init() 메소드를 통해 초기화한.. 2023. 8. 10. 리스너 리스너는 컨테이너를 모니터링하다가 특정 이벤트가 발생하면 실행되는 서블릿으로 이벤트 리스너라고도 한다. Web Application 실행에 필요한 정보를 제공하거나 톰캣 시작/종료와 같은 특정 상황에 자동으로 동작하는 프로그램을 구현할 때 사용한다. 리스너 또한 서블릿처럼 어노테이션 기반 코드로 작성 가능하다. 리스너의 동작 구조는 위의 그림과 같다. 클라이언트 요청에 따라 서블릿을 통해 Session, Request 객체가 생성되거나 속성의 변화가 발생하면(이벤트 발생) 컨테이너에서 이벤트를 감지한다. 그리고 해당 이벤트를 처리하는 리스너 클래스의 메소드를 호출한다. 리스너의 종류 ServletContextListener - 톰캣의 시작, 종료와 같은 이벤트에 동작 ServletContextAttrib.. 2023. 8. 10. Servlet과 JSP(Java Server Pages) 서블릿이란 자바 기반의 웹 프로그램 개발을 위해 만들어진 기술로 톰캣과 같은 서버 소프트웨어(WAS)를 통해 관리된다. 웹 프로그램은 서버에 접속해야만 화면을 볼 수 있고 로그인과 같은 기능은 모두 서버에서 실행되 이후 결과만 클라이언트에 보이는 구조이다. 참고로 이때 클라이언트는 HTML 파일의 내용으로 수신받는데 HTML은 정적인 파일이므로 실시간으로 변하는 정보(날씨, 홈페이지 메인 화면 등)는 가져올 수 없다. 이러한 정보는 데이터베이스에 저장되어 있기 때문에 사용자의 웹 요청을 받으면 또 다른 프로그램을 통해 데이터베이스에서 정보를 가져와 HTML로 재구성 해야한다. 이러한 프로그램 실행 중에 데이터베이스에 저장하는 과정이 필요하다. 서블릿은 이러한 기능을 수행할 수 있도록 도와주는 특수한 목적.. 2023. 8. 8. [Hashmap] .getOrDefault(key, defaultValue) .getOrDefault(key, defaultValue) 메소드는 HashMap에 지정된 key에 대한 값을 가져온다. 만약 해당 key가 HashMap에 존재하지 않을 경우, defaultValue로 지정된 값을 반환한다. key : HashMap에서 찾고자 하는 key defaultValue : 해당 key가 존재하지 않을 때 반환할 기본 값 HashMap map = new HashMap(); map.put("java", 1); map.put("python", 2); 위의 코드에서 map.get("java")를 호출하면 3이 반환된다. 하지만 map.get("c++")을 호출하면 key가 존재하지 않으므로 null이 반환된다. map.getOrDefault("c++",0)을 호출하면 기본값 0으로 .. 2023. 7. 25. 이전 1 2 3 4 다음