java - 如何将多维 vector 从 C++ 转换为 Java?

标签 java translate multidimensional-array

所以,我用 C++ 轻松完成了一个项目,却意识到我应该用 Java 编写它。这没什么大不了的,除了我的代码使用多维 vector ,例如:

vector <vector<int> > arr  

Java 中是否有等效的东西可以提供相同的结果而无需彻底重写程序?

这是我在翻译时遇到问题的 C++ 程序的代码片段:

vector <vector <int> > arr;

cin >> n;

while (n > 0)
{
    vector <int> row;
    int u;

    for (int i = 0; i < n ; ++i)
    {
        cin >> u;
        row.push_back(u);
    }

    arr.push_back(row);

    n = comb(row.size(), k);
    k++;
}

for (int i = 0; i < arr.size(); i+=2)
    for (int j = 0; j < arr[i].size(); ++j)
        sum += arr[i][j];

for (int i = 1; i < arr.size(); i+=2)
    for (int j = 0; j < arr[i].size(); ++j)
        diff += arr[i][j];

最佳答案

ArrayList 如果您将其声明为 ArrayList<ArrayList<Integer>>,则应该提供您需要的功能.您调用 push_back() 的电话相当于调用 add() .您将丢失数组索引访问符号,但这可以通过链接调用 get() 来解决。 .

关于java - 如何将多维 vector 从 C++ 转换为 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14689371/

相关文章:

java - 将大图像设置为背景

javascript - 更改 HTML 页面语言

android - 如何使用 Bing 翻译服务在 android 上播放特定单词的音频?

css - 模糊文本,因为翻译(-50%,-50%)位于半个像素上

java - TreeSet 不添加超过两个项目(对象)

java - JAXB UnmarshalException - 包含 # 的文件名

java - 在 WebView 中为我的 Android 应用程序使用自定义 (unicode) 字体

c - 二维数组中缺少最后一个元素

Java 等效于 C# Array.GetLength(i)

java - 从数组中获取索引并将其输出到java中