목록Language/Java (58)
한 걸음 두 걸음
1. length() String a = "abc"; int strlen = a.length();2. length int[] i = new int[10]; int intlen = i.length;3. size ArrayList arr = new ArrayList(); arr.add(1); int arrlen = arr.size();총정리 import java.util.ArrayList; public class Main { public static void main(String[] args) { String a = "abc"; int strlen = a.length(); int[] i = new int[10]; int intlen = i.length; ArrayList arr = new ArrayList(..
> 2 6자리일 때 111010 (38) 7자리일 때 0101001 -> 0001010 (41/2/2) >>> 41 = 32 + 8 + 1 101001 41 >> 2 6자리일 때 001010 (10) 7자리일 때 0101001 -> 0001010 (41/2/2)
1. 1차배열 / toCharArray package day0122; import java.util.Arrays; public class Solution { public static void main(String[] args) { String str = "abcdefg"; char[] arr = new char[5]; arr = str.toCharArray(); System.out.println(Arrays.toString(arr)+""); //2차배열 / toCharArray char[][] arr1 = new char[5][]; arr1[0] = str.toCharArray(); System.out.println(Arrays.toString(arr1[0])+""); //string[] String[]..
https://onepinetwopine.tistory.com/487에서 간단히 보고 넘어갔었지만, 객체가 정렬되기 위해서는 어떤 것을 두고 정렬할 것인지 미리 정의되어있어야합니다. 이를 위해서 반드시 Comparable인터페이스를 상속받고 implement method인 compareTo()함수를 재정의하여 기준을 세워주어야 합니다. 커스텀 데이터 객체 정렬시키기. 제가 가진 Market라는 클래스 안에는 name, phoneNum, address가 있다고 가정해봅시다. class Market{ String name; String phoneNum; String address; }그리고 이 데이터구조를 갖는 ArrayList가 있을 때 ArrayList ArrayList내부의 Market을 name 사전..
인터페이스란? 인터페이스란 추상클래스의 확장개념으로, 서비스 공급자(서버)와 사용자(클라이언트)간의 계약을 표현하는 것입니다. 인터페이스의 모든 필드(변수)는 모두 final static이 붙은 상수로 간주됩니다.(생략되어 표시되지 않습니다.) 메소드는 추상메소드만 구현할 수 있었으나, JAVA9부터는 구현메소드와 정적메소드, private 메소드가 작성될 수 있게 되었습니다.(private메소드는 default메소드에서 호출하여 사용할 수 있습니다.) 중첩인터페이스 public interface MainConstants { //inner interface (중첩 인터페이스) interface View{ void showResult(int result); } } 이처럼 인터페이스 내부에 또 다른 인터페이..
어떤 함수가 더 효율적일까? 실제로 어떤 함수를 사용하는게 더 효율적인지 확인하기 위해서는 공식 문서를 열어보거나, 오픈 소스 내부를 들여다보거나, 블로그의 팁을 주워듣거나 합니다. 하지만 이게 다 귀찮을 땐 두 함수의 실행시간을 비교해보는 것이 가장 좋습니다. long startTime = System.currentTimeMillis()이 함수는 현재 시간을 milliseconds 단위로 반환합니다. 보다 정확히는, 현재 시간과 1970 년 1 월 1 일 자정 (UTC)의 차이값을 반환하는 것입니다. public static long currentTimeMillis ()이를 활용하면 long startTime = System.currentTimeMillis(); //실행할 코드 long finishTi..
개발을 하다보면 이게 대체 무슨 함수고 어떤 구조를 갖는지 검토할 때가 많습니다. 단순히 alt+enter만 치다가는 뭐가 뭔지도 이해하지 못하게 됩니다. 그래서 함수와 매개변수 반환형 등을 간단히 살펴본 후 상속관계 구조 및 함수 설명에 대해 자세히 알고 싶을 땐 링크를 클릭해서 살펴보곤 합니다. 안드로이드 스튜디오에서는 이 기능이 알아서 설정되어 있았기 때문에 불편함 없이 사용했었는데 intellj에서는 링크가 안뜨더라구요. 그래서 설정 방법을 작성하게 되었습니다. 1. control + Q를 누르지 않고도 설명창이 나타나게 하기 2. link가 삽입되어 나타나도록 하기 File - Setting으로 들어가서, Show the documentaton popup in을 체크해주면 이와 같이 contro..
비효율적인 System.out.println을 피하고 싶을 때 사용하면 좋습니다. 이를 사용하는 함수에서는 Exception처리를 해주어야합니다. BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); bw.write("첫 번째 입력"); //버퍼에 추가 bw.flush(); //출력! bw.write("두 번째 입력"); //버퍼에 추가 bw.nextLine();//\n추가 bw.close(); //마지막 출력!