Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 让Guava ArrayListMultimap发挥作用_Java_Guava - Fatal编程技术网

Java 让Guava ArrayListMultimap发挥作用

Java 让Guava ArrayListMultimap发挥作用,java,guava,Java,Guava,我对java比较陌生,正在研究一种新的分析方法来改进()的当前实现 我已经确定需要一个多重映射来处理我的数据集。因此,我下载了Guava并将~2MB文件放入一个目录中。我使用Multimap或ArrayListMultimap编译程序时使用: javac -classpath C:\mywork\guava-18.0.jar myfile.java 编辑:根据user2336315的建议,我将代码更改为: ArrayListMultimap<String, int[]> comb

我对java比较陌生,正在研究一种新的分析方法来改进()的当前实现

我已经确定需要一个多重映射来处理我的数据集。因此,我下载了Guava并将~2MB文件放入一个目录中。我使用Multimap或ArrayListMultimap编译程序时使用:

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

编辑:根据user2336315的建议,我将代码更改为:

ArrayListMultimap<String, int[]> combinations = ArrayListMultimap.create();
ArrayListMultimap组合=ArrayListMultimap.create();
这是完美的汇编。但是,当我使用“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);
    }
}
import java.util.Random;
导入com.google.common.collect.ArrayListMultimap;
阶级决定{
公共静态int[]rando(){
//生成随机矩阵的各种代码行
}
}
类搜索{
公共静态void finalize(int[]a){
int bluejay=a.长度;
int最小值=1;
ArrayListMultimap组合=ArrayListMultimap.create();
对于(int x=0;x
类的构造函数是私有的,您无法在类外看到它们。必须使用创建贴图的静态方法

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

至于第二个错误,我没有看到任何具有此名称的番石榴类,所以可能是您错卖了?

有效。但是,现在我得到了另一个错误:java.lang.NoClassDefFoundError。由ClassNotFoundException引起:com.google.common.collect.ArrayListMultimap。关于URL类加载器等的各种详细信息。我现在正在研究原因,但我写这篇文章是为了快速发布。@user3834916您是否已将库添加到生成路径中?能否请您详细说明一下?据我所知,我正确地导入了类(更新的代码),并将类路径定向到正确的目录。是否需要执行其他操作?@user3834916您需要为
javac
java
提供
-classpath
参数。库没有被编译到结果中,所以您需要在运行时再次告诉java它们在哪里。啊,我想可能是这样的。但是,我如何实现这一点?键入“java-classpath C:\mywork\guava-18.0.jar Optimize”无效。它找不到我的主要方法。另外,你能推荐一个源代码让我更深入地了解这个过程吗?
javac-classpath
yikes,这里有一些IDE。顺便说一句,ListMultiMap是一个
映射,数组列表是故意的吗?是的。因为我将采用一组K元素的组合。map中的每个元素对应于(k choose n)和n Ok,“我对java只有大约3周的了解”,而且
ListMultiMap
听起来不太可能:DI去年在python上了一个暑期班,这是我的第一个编程课程,它教会了我一些基础知识(这就是为什么我试图实现类似于字典的东西)。除此之外,我的大学java课程节奏非常快(不过还没有接近此材料的地方)————。但这是离题的:好吧,第二次考试快到了,可能已经有7周了。我的错!