허리펴
1k
2016-09-21 15:51:12
5
2467

HashMap value 구분자로 list<HashMap> 만드는 방법


HashMap 데이타를 받는데요


id,age,job, ..  등등 데이타가 있는데

데이타가 이렇게 넘어 옵니다

id=id_1^id_2^id_3

age=11^12^13

job=swim^game^sing


특정 구분자로 한 HashMap으로 넘어오는걸

List<HashMap>로 바꾸고 싶은데 어떻게 해야 하나요 

0
  • 답변 5

  • samchon
    514
    2016-09-21 15:56:47 작성 2016-09-21 15:59:00 수정됨

    위에 예문을 봐서는 HashMap<string, List<string>> 정도가 되는 거 같은데요.

    split 을 잘 사용해 보세요.


    {
        {key: id, value: {id_1, id_2, id_3}},
        {key: age, value: {11, 12, 13}},
        {key: job, value: {swim, game, sing}}
    }
    



  • LichKing
    16k
    2016-09-21 15:57:09
    Map<String, String> 을 Map<String, List<String>>으로 바꾸고싶은거 아닌가요?
  • 허리펴
    1k
    2016-09-21 16:02:44

    samchon ,LichKing //

    음 위의 map을

    이렇게 한map씩묶어서

    id=id_1

    age=11

    job=swim

    List<HashMap<String,String>> 으로 바꾸고싶은거에요

  • 오로롱이
    1k
    2016-09-21 16:43:19

    계층형 json object 구조를 list 형식으로 넘기는 코딩을 얼마전에 여기 업로드 했는데요

    그거 한 번 참고해 보세요

    json list 파라미터 전송

  • LMS
    129
    2016-09-21 17:02:05 작성 2016-09-21 17:03:05 수정됨

    HashMap에 있는 정보 중 id, age, job을 List의 0번 index부터 넣고 싶다는 말씀이신것 같은데


    제가 제대로 이해한게 맞다면 


    List<HashMap<String, String>> mapList = new ArrayList<HashMap<String, String>>();

    String[] idArray, ageArray, jobArray;

    idArray = id.split("^");

    ageArray..

    job...


    for(...) {

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


    map.put("id", idArray[i]);

    map.put("age", ageArray[i]);

    map.put("job", jobArray[i]);


    mapList.add(map);

    }


    이러면 될것 같아요. 형태가 똑같진 않겠지만 응용하면 될것 같습니다.

    map의 key는 중복 될수 없기 때문에 반복문 안에서 만들어줍니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.