자바칩초콜릿
2016-05-23 12:00:05
8
1198

안녕하세요 자바 데이터형 캐스팅 질문드립니다.^


안녕하세요.

String[] a  =  List<Map<String,Object> list

위처럼 리스트<맵>을 스트링배열 변수 안에 넣고 싶은데 가능한가요?..

0
  • 답변 8

  • siva6
    5k
    2016-05-23 12:07:18

    map 이 어떤 형태의  string이 되나요?

  • 자바칩초콜릿
    2016-05-23 12:22:45

    { NAME = 김춘자 }, {NAME = 김춘식 }

    이런 형태의 값이 들어있습니다

  • siva6
    5k
    2016-05-23 12:32:16

    List의 갯수 만큼 돌면서 Map을 꺼내고,
    map에서 name의 값을 꺼내서 배열에 넣으면 됩니다.



  • 자바칩초콜릿
    2016-05-23 12:54:49

    @siva6 

    답변감사합니다..혹시


    {NAME=김춘자} 일때


    '김춘자'만 추출하고 싶은데 

    split,valueOf 응용해서 하자니 좀복잡하네요 ㅜㅜ

    조언좀 부탁드립니다.

  • siva6
    5k
    2016-05-23 13:18:43

    map이니까 그냥 xxx.get("NAME") 하면 뺄 수 있는데요.

  • dlqorgod
    396
    2016-05-23 13:32:32


    package okky;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.junit.Test;
    
    public class Article328326Test {
    
    	@Test
    	public void test() {
    		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    
    		Map<String, Object> item = new HashMap<String, Object>();
    		item.put("name", "김춘자");
    		list.add(item);
    
    		item = new HashMap<String, Object>();
    		item.put("name", "김춘식");
    		list.add(item);
    
    		item = new HashMap<String, Object>();
    		item.put("name", "김춘자");
    		list.add(item);
    
    		System.out.println("list=" + list);
    
    		int size = list.size();
    
    		String[] a = new String[size];
    
    		for (int i = 0; i < size; i++) {
    			Map<String, Object> item2 = list.get(i);
    			String name = (String) item2.get("name");
    
    			System.out.println("name=" + name);
    
    			a[i] = name;
    		}
    
    		System.out.println("a=" + a);
    
    		System.out.println("전체 출력");
    
    		for (int i = 0; i < a.length; i++) {
    			System.out.println(a[i]);
    		}
    
    		System.out.println("김춘자만 출력");
    
    		for (int i = 0; i < a.length; i++) {
    			if ("김춘자".equals(a[i])) {
    				System.out.println(a[i]);
    			}
    		}
    	}
    
    }
    


  • siva6
    5k
    2016-05-23 13:34:12


    import java.util.*;
    
    class Main {
        public static void main(String[] args) {
            List<Map<String,String>> list = new ArrayList();
            Map<String,String> tmp = new HashMap();
            tmp.put("NAME", "김");
            list.add(tmp);
            tmp = new HashMap();
            tmp.put("NAME", "이");
            list.add(tmp);
            
            
            ///////////////////////////////////////////////////////////////////////
            
            
            List<String> result = new ArrayList();
            for(Map m : list) {
                result.add((String)m.get("NAME"));
            }
            
            String[] s = result.toArray(new String[0]);
            for(String name : s) {
                System.out.println(name);
            }
            
        }
    }


  • 자바칩초콜릿
    2016-05-23 20:30:13

    @siva6 

    @dlqorgod


    선배님들  섬세한 답변 감사합니다.


    참고 잘되었습니다.

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