펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

HashMap은 Map인터페이스의 한 종류로, key와 value 한 쌍을 데이터로 가진다.

쉽게 이해하려면 리스트 형태에 값을 키와 벨류로 가지고 있다고 생각하면 된다.

리스트와의 큰 차이점은 위에처럼 키값을 가진다는것이고, 또 순서를 보장하지 않는다는점이다.

순서대로 입,출력이 되고 순서에 의해 자료를 처리하는 작업에는 알맞지 않다.

입력된 key값을 이용해 value를 구하며(리스트에서 인덱스를 이용해 벨류를 구하는 이치)

key값은 중복되지 않으며 value는 중복 가능하다.


즉, key값으로 1을 5번 입력한다면 맨 처음의 key,value만 입력되고 나머지는 입력되지 않아

이 특성을 잘 이용하면 중복검사를 매우 편하게 할 수 있다.


HashMap의 기본적인 사용법을 알아보겠다.


HashMap<Integer, String> map = new HashMap<Integer, String>();


입력 -

map.put(1, "치킨");

map.put(2, "피자");

map.put(3, "탕수육");


출력 -

Iterator<Integer> iter = map.keySet().iterator();

while(iter.hasNext()) {

int key = iter.next();

String value = map.get(key);

Log.d("fureun", "key : " + key + ", value : " + value);

}

이렇게 하면 모든 키와 벨류 쌍이 다 출력된다.


다른 사용법으로는 map.get(1);을 하면 키 1에 대응하는 value "치킨"이 반환된다.


if(map.containsKey(1)) {


}

이렇게 하면 키값 1이 존재할 경우 true가 반환된다.


이외에도 활용법은 엄청 많으니, 공부를 통해 자신이 원하는 형태로 사용 할 수 있도록 노력하자.


댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 Len 2017.02.10 16:35

    제 깃헙에 퍼가겠습니다! 좋은 자료 감사합니다 : )

    https://github.com/LenKIM/TIL_Today_I_Learned

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

GoogleMap gmap = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

LatLng startingPoint = new LatLng(latitude값, longitude값);


gmap.moveCamera(CameraUpdateFactory.newLatLngZoom(startingPoint,16));

startingPoint는 시작 위치를 뒤의 숫자는 zoom level을 뜻한다.


Permission :    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


팁으로 좌표 구하는 사이트 :

http://universimmedia.pagesperso-orange.fr/geo/loc.htm

한글로 검색 가능하며, 화면 중앙에 마커가 고정돼있고 그곳의 Lat, Lng값을 알려주는 사이트.

댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 Tada 2014.01.19 16:42

    자세한 설명 감사합니다. 그런데 저는 따라하다 보니 아래 코드를 추가해야만 에러 없이 실행되더군요
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  2.  댓글주소  수정/삭제  댓글쓰기 덩치 2014.01.20 10:13 신고

    감사합니다 퍼미션을 빼먹었군요 ㅎㅎ

  3.  댓글주소  수정/삭제  댓글쓰기 JWJ 2014.05.22 17:29

    구글맵 띄우는것 부터 따라 하고있는데요 이부분에서 막혀서요
    NullPointerException 에러가 계속 뜨네요;;

  4.  댓글주소  수정/삭제  댓글쓰기 덩치 2014.05.23 10:40 신고

    정확히 어떤 소스에서 NullPointerException 이 발생하나요? 선언을 하고 초기화를 시키지 않고 사용하거나 빈 값을 호출하게 되면 발생하는 에러인데 정확한 위치를 알면 금방 해결할 수 있는 에러입니다

  5.  댓글주소  수정/삭제  댓글쓰기 GOOOD 2014.05.30 02:21

    위도, 경도를 다르게 줘도 계속 똑같은 위치가 나오는데요? 코드오류가 있어서 계속 처음실행만 나오는건가요?

    •  댓글주소  수정/삭제 덩치 2014.05.30 08:50 신고

      테스트 해 봤지만 정상적으로 작동하는 소스코드입니다.
      혹시 카메라 줌레벨도 변함이 없이 계속 아프리카쪽만 나온다면 기본값으로 나타나고 있는것이고, 그게 아니라면 소스코드쪽에 오류가 없는지 확인 해 보시기 바랍니다

  6.  댓글주소  수정/삭제  댓글쓰기 제발ㅠ 2015.05.06 23:37

    SupportMapFragment cannot be resolved to a type 오류가 남니다...
    v2 지도 띄우기 해서 아프리카쪽 화면 나오는걸 확인 후 소스를 그대로 넣었으나 오류가 납니다... 원인이 무었인지 정확하게 모르겠습니다.

  7.  댓글주소  수정/삭제  댓글쓰기 개초보.. 2015.05.14 21:59

    이코드를 어디에 넣어야하죠 ㅠㅠ

    •  댓글주소  수정/삭제 덩치 2015.05.15 09:02 신고

      어디에 넣느냐는건 용도에 따라 너무 다양하기에,
      기본적으로 onCreate에 주실 수 있으며
      이에 대한 이해가 부족하시다면 책을 한권 보시고 안드로이드에 대한 기본적인 개념을 잡고 시작하시는게 장기적으로 도움되실것같습니다

  8.  댓글주소  수정/삭제  댓글쓰기 고맙습니다 2015.05.27 14:17

    도움이 됬어요