Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / util / ArrayUtils.java
index c05dac5..8142f8a 100644 (file)
@@ -20,6 +20,8 @@
  */
 package jalview.util;
 
+import java.util.Arrays;
+
 public class ArrayUtils
 {
   /**
@@ -44,4 +46,27 @@ public class ArrayUtils
       }
     }
   }
+
+  public static <T> T[] concatArrays(T[]... arrays)
+  {
+    if (arrays == null)
+      return null;
+    if (arrays.length == 1)
+      return arrays[0];
+
+    T[] result = arrays[0];
+    for (int i = 1; i < arrays.length; i++)
+    {
+      result = concatTwoArrays(result, arrays[i]);
+    }
+    return result;
+  }
+
+  private static <T> T[] concatTwoArrays(T[] array1, T[] array2)
+  {
+    T[] result = Arrays.copyOf(array1, array1.length + array2.length);
+    System.arraycopy(array2, 0, result, array1.length, array2.length);
+    return result;
+  }
+
 }