diff --git a/native/jni/src/utils/int_array_view.h b/native/jni/src/utils/int_array_view.h
index 08256bd..c39add9 100644
--- a/native/jni/src/utils/int_array_view.h
+++ b/native/jni/src/utils/int_array_view.h
@@ -17,8 +17,9 @@
 #ifndef LATINIME_INT_ARRAY_VIEW_H
 #define LATINIME_INT_ARRAY_VIEW_H
 
+#include <array>
 #include <cstdint>
-#include <cstdlib>
+#include <cstring>
 #include <vector>
 
 #include "defines.h"
@@ -103,6 +104,12 @@
         return IntArrayView(mPtr + n, mSize - n);
     }
 
+    template <size_t N>
+    void copyToArray(std::array<int, N> *const buffer, const size_t offset) const {
+        ASSERT(mSize + offset <= N);
+        memmove(buffer->data() + offset, mPtr, sizeof(int) * mSize);
+    }
+
  private:
     DISALLOW_ASSIGNMENT_OPERATOR(IntArrayView);
 
diff --git a/native/jni/tests/utils/int_array_view_test.cpp b/native/jni/tests/utils/int_array_view_test.cpp
index 93bad58..ec57cf5 100644
--- a/native/jni/tests/utils/int_array_view_test.cpp
+++ b/native/jni/tests/utils/int_array_view_test.cpp
@@ -18,6 +18,7 @@
 
 #include <gtest/gtest.h>
 
+#include <array>
 #include <vector>
 
 namespace latinime {
@@ -89,5 +90,26 @@
     }
 }
 
+TEST(IntArrayViewTest, TestCopyToArray) {
+    // "{{" to suppress warning.
+    std::array<int, 7> buffer = {{10, 20, 30, 40, 50, 60, 70}};
+    const std::vector<int> intVector = {3, 2, 1, 0, -1, -2};
+    IntArrayView intArrayView(intVector);
+    intArrayView.limit(0).copyToArray(&buffer, 0);
+    EXPECT_EQ(10, buffer[0]);
+    EXPECT_EQ(20, buffer[1]);
+    intArrayView.limit(1).copyToArray(&buffer, 0);
+    EXPECT_EQ(intVector[0], buffer[0]);
+    EXPECT_EQ(20, buffer[1]);
+    intArrayView.limit(1).copyToArray(&buffer, 1);
+    EXPECT_EQ(intVector[0], buffer[0]);
+    EXPECT_EQ(intVector[0], buffer[1]);
+    intArrayView.copyToArray(&buffer, 0);
+    for (size_t i = 0; i < intArrayView.size(); ++i) {
+        EXPECT_EQ(intVector[i], buffer[i]);
+    }
+    EXPECT_EQ(70, buffer[6]);
+}
+
 }  // namespace
 }  // namespace latinime
