2014-10-29 3 views
1

저는 Java에 익숙하지 않은 새로운 구현 방법 인 (https://stackoverflow.com/questions/26577172/inefficcient-optimally-deleting-2s-rows-and-columns-from-a-random-mod2)을 개선하기 위해 새로운 분석 방법을 개발 중입니다.Guava ArrayListMultimap이 작동하도록하려면

멀티 맵에서 내 데이터 집합을 처리하도록 결정했습니다. 따라서 Guava를 다운로드하고 ~ 2MB 파일을 디렉토리에 저장했습니다. 나는 함께 Multimap과 또는 ArrayListMultimap를 사용하여 내 프로그램을 컴파일 :

javac -classpath C:\mywork\guava-18.0.jar myfile.java 

편집 :

ArrayListMultimap<String, int[]> combinations = ArrayListMultimap.create(); 

이 완벽하게 컴파일 : user2336315의 조언에, 나는에 코드를 변경했습니다. 그러나 'java Optimize'스크립트를 실행하면 또 다른 오류가 발생합니다.

컴파일 한 후 코드를 올바르게 실행하는 방법을 보려면 아래의 답변 주석을 참조하십시오.


가 여기 내 현재의 테스트 코드입니다 : 클래스의

import java.util.Random; 
import com.google.common.collect.ArrayListMultimap;  

class Determine { 
    public static int[][] rando() { 
     // Various lines of code to product a random matrix 
    } 
} 

class Search { 
    public static void finalize(int[][] a) { 
     int bluejay = a.length; 
     int minimum = 1; 

     ArrayListMultimap<String, int[]> combinations = ArrayListMultimap.create(); 
     for (int x = 0; x < bluejay - minimum + 1; x++) { 
      int y = 0; 
      while (y < 5) { 
       int[] rows = new int[x + 1]; 
       rows[0] = 1; 
       combinations.put(Integer.toString(x), rows); 
       y += 1;     
      } 
      System.out.println(combinations); 
     } 
    } 
} 

public class Optimize { 
    public static void main(String[] args) { 
     int[][] matrix = Determine.rando(); 
     Search.finalize(matrix); 
    } 
} 
+0

'javac -classpath' yikes에 대한 IDE가 있습니다. Btw'ListMultiMap ''Map >'은 의도적으로 배열 부분의 목록입니까? – zapl

+0

예. 왜냐하면 나는 K 요소 집합의 조합을 취할 것이기 때문입니다. 맵의 각 요소는 n <= k 인 (k는 n을 선택)에 해당합니다. 다음으로, 각각 (k는 n을 선택)은 일련의 조합 (각각은리스트 또는 K의 서브 세트로 표시)을 포함합니다. 그러나 알고리즘이 끝나면 알고리즘의 성격 상 불어날 수는 없습니다. – user3834916

+0

좋아, "나는 자바로 약 3 주 밖에 안 남았다."그리고'ListMultiMap '소리는 거의 없다. D – zapl

답변

1

생성자는 개인, 당신은 클래스 외부를 볼 수 없습니다. 지도를 만드는 정적 메서드를 사용해야합니다.

ArrayListMultimap<String, int[]> combinations = ArrayListMultimap.create(); 

두 번째 오류에 대해서는이 이름의 구아바 클래스가 표시되지 않으므로 잘못 입력 했습니까?

+0

Worked. 그러나 이제 다른 오류가 발생합니다 : java.lang.NoClassDefFoundError. ClassNotFoundException에 의해 발생 : com.google.common.collect.ArrayListMultimap. URL ClassLoaders 등에 대한 다양한 세부 정보를 제공합니다. 지금 왜 그런지 살펴보고 있지만 빨리 작성하려면이 글을 쓰고 있습니다. – user3834916

+0

@ user3834916 라이브러리를 빌드 경로에 추가 했습니까? – user2336315

+0

좀 더 자세히 설명해 주시겠습니까? 클래스를 올바른 지식 (업데이트 된 코드)으로 올바르게 가져 왔고 클래스 경로를 올바른 디렉토리로 지정했습니다. 다른 일을해야합니까? – user3834916

관련 문제