• Saves Valuable Time
  • Trusted Accuracy for 12 Years
  • 15-Day Money-Back Guarantee

C++ Equivalent to Java Arrays

Since it is becoming increasingly common to use std::vector instead of arrays in C++, we give examples of both conversions below. (Java to C++ Converter converts to std::vector by default).

Unsized Array

Java C++
int[] myArray = null; //as a vector:
std::vector<int> myArray;

//as an array:
int *myArray = nullptr;

Sized Array

Java C++
int[] myArray = new int[2]; //as a vector:
std::vector<int> myArray(2);

//as an array:
int *myArray = new int[2] {};

Access Array Element

Java C++
x = myArray[0]; x = myArray[0]; //no change

Jagged Array

Java C++
int[][] myArray = new int[2][]; //as a vector:
std::vector<std::vector<int>> myArray(2);

//as an array:
int **myArray = new int*[2];

Rectangular Array

Java C++
int[][] myArray = new int[2][3]; //as a vector:
std::vector<std::vector<int>> myArray = RectangularVectors::ReturnRectangularIntVector(2, 3);

//----------------------------------------------------------------------------------------
// Copyright © 2007 - 2017 Tangible Software Solutions Inc.
// This class can be used by anyone provided that the copyright notice remains intact.
//
// This class includes methods to convert multidimensional arrays to C++ vectors.
//----------------------------------------------------------------------------------------
class RectangularVectors
{
public:
    static std::vector<std::vector<int>> ReturnRectangularIntVector(int size1, int size2)
    {
        std::vector<std::vector<int>> newVector(size1);
        for (int vector1 = 0; vector1 < size1; vector1++)
        {
            newVector[vector1] = std::vector<int>(size2);
        }

        return newVector;
    }
};

//as an array:
int **myArray = RectangularArrays::ReturnRectangularIntArray(2, 3);

//----------------------------------------------------------------------------------------
// Copyright © 2007 - 2017 Tangible Software Solutions Inc.
// This class can be used by anyone provided that the copyright notice remains intact.
//
// This class includes methods to convert Java rectangular arrays (jagged arrays
// with inner arrays of the same length).
//----------------------------------------------------------------------------------------
class RectangularArrays
{
public:
    static int** ReturnRectangularIntArray(int size1, int size2)
    {
        int** newArray = new int*[size1];
        for (int array1 = 0; array1 < size1; array1++)
        {
            newArray[array1] = new int[size2] {};
        }

        return newArray;
    }
};


Use Java to C++ Converter to convert from Java to C++.     

Additional resource: Java and C++ Equivalents


Copyright © 1997 – 2017 Tangible Software Solutions Inc.