'2017/06/19'에 해당되는 글 1건

728x90

안드로이드 코딩하면서 유용한 걸 적어둔다.


오늘날짜 구하기

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd", Locale.KOREA);
Date current = new Date();
String date = formater.format(current);
Toast.makeText(getApplicationContext(), "date ==="+date, Toast.LENGTH_SHORT).show();


소요시간 측정하기

걸리는 시간을 측정해서 대체 코드를 구현해야 할지 판단할 때 좋을 듯하다.

final SimpleDateFormat FORMATTER = new SimpleDateFormat("mm:ss.SSS");
long startTime = System.currentTimeMillis();
System.out.println("Time taken to insert " + FORMATTER.format(new Date(System.currentTimeMillis() - startTime)));


배열 선언

int[] apple = {20, 27, 24, 26, 32, 40};
위의 행은
int[] apple = new int[] {20, 27, 24, 26, 32, 40};
와 같다.


- apple.length는 배열의 길이를 의미

- 배열은 첨자(index, 인덱스)값으로 접근한다.
- 첨자값은 0부터 시작한다.


ArrayList 를 배열로 변환

toArray() 메소드를 이용한다.


ArrayList<Integer> pbook = new ArrayList<Integer>();
  pbook.add(1);
  pbook.add(2);
  pbook.add(3);
  pbook.add(4);

// List -> Integer 배열
Integer[] pArray = pbook.toArray(new Integer[pbook.size()]);

int i=0;
for(Integer temp : pbook){
 
pArray [i++] = temp;
}


ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Test1");
arrayList.add("Test2");
arrayList.add("Test3");

String[] array = new String[arrayList.size()];
int i=0;
for(String temp : arrayList){
  array[i++] = temp;
}


배열을 ArrayList 로 변환

// String[] -> List

String[] array = {"aaa", "bbb", "ccc"};

배열을 ArrayList 또는 List로 변환하는 것은 아래 3개중에서 한줄이면 된다.

List<String> list = Arrays.asList(array);
List<String> list = Arrays.<String>asList(array);
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(array));


List<String> list = Arrays.asList(str.split("\\s*,\\s*")); // 콤마로 구분해서 문자열을 넣어준다.

화면 출력하는 방법은

Iterator<String> ie = arrayList.iterator();
while (ie.hasNext()) {
    System.out.println(ie.next());
}


무식한 방법으로 for문을 사용하는 방법은

String[] array = new String[3];
array[0] = "Test1";
array[1] = "Test2";
array[2] = "Test3";
ArrayList<String> mList = new ArrayList<>();
for(String temp : array){
  mList.add(temp);
}



배열을 매개변수로 받는 메소드

public static int[] addNumArray(int[] pArray){
    for(int i=0; i < pArray.length; i++)
        pArray[i] += 10;
    return pArray;
}


ArrayList 검색

- ArrayList에 indexOf(Object o) 메소드를 사용하면 해당 값이 ArrayList에서 몇번째 위치해 있는지 찾아준다.

- indexOf 결과가 없으면 -1 을 반환한다.

- index 와 get 메소드를 이용하여 원하는 값을 찾아낼 수 있다.

- index 값이 -1 인 경우 get(indexOf(Object o)) 를 하니까 에러를 발생시킨다.

  이 경우에는 반드시 분리해서 처리를 해야 에러가 없이 동작된다.

String temp_key = "";
String temp_mNO = "";
String temp_oNO = "";
if(temp_mobileID.indexOf(ContactId) > -1){
    temp_key = temp_keyIDX.get(temp_mobileID.indexOf(ContactId));
    temp_mNO =temp_mobileNO.get(temp_mobileID.indexOf(ContactId));
}
if(temp_officeID.indexOf(ContactId)>-1){
    temp_oNO = temp_officeNO.get(temp_officeID.indexOf(ContactId));
}

- indexOf 는 동일한 값이 2개 이상 존재하면 가장 먼저 찾은 결과를 반환하기 때문에 결과가 부정확할 수도....


ArrayList 수정

ArrayList<String> arraylist = new ArrayList<String>();

arraylist.set(인덱스번호,"변경할 값");



문자열 비교

등위 연산자(==)

- 같은 자료형을 비교하면 같다(true)

- 기본 자료형과 참조형을 비교하면 다르다(false)


equalsIgnoreCase(), equals()

- 기본 자료형과 참조형을 비교하면 같다(true)

  주소 비교가 아니라 값을 비교한다.

- equals() 는 대소문자를 구분하여 비교한다.

- equalsIgnoreCase()는 대소문자를 구분하지 않고 비교한다.



블로그 이미지

Link2Me

,