2012-02-29 8 views
0

TreeMap을 전달하는 방법 -지도 < String, int []> treeMap - JNI를 통해 Java에서 C++로?JNI : Java에서 C++로 TreeMap을 전달하는 방법

현재 Java에서 C++로 문자열 배열 (= keys)을 전달하고지도를 초기화합니다. std :: map < std :: string, std :: vector> myMapVector - C++에서. 두 번째 방법에서는 자바에서 문자열 = 키와 int 배열을 전달하고 이전에 만든 맵에서 벡터를 채 웁니다.

감사합니다.

답변

0

당신은 트리 맵을 전달하고 직접 사용할 수 있습니다

http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/design.html#wp1253

+0

감사합니다. 따라서 Java 객체 (= myMap)에 직접 액세스하는 것이 좋습니다. – Florian

+0

트리 재 구축을 피하는 것이 가장 효율적인 방법 일 것입니다. – svachalek

+0

나는 당신의 솔루션을 실현할 수있었습니다. Java HashMap 필드에 액세스 할 수 있습니다. 내 HashMap을 사용하려면 java/util/HashMap 클래스에 대한 "인터페이스"를 만들어야합니다. 그런 다음 JNI를 통해 java/util/HashMap 클래스의 get 메소드를 사용할 수 있습니다. 하지만 당신이 생각하는 것이 더 빠릅니다. HashMap의 키로 사용하는 jstring을 매개 변수로 사용하여 JNI에서 getter 메서드를 호출하면 더 빠릅니다. 그런 다음 Java에서 작업을 수행 한 다음 jintarray를 반환합니다. – Florian

관련 문제