Concatenate Java arrays : Array Insert Remove « Collections Data Structure « Java

Java
1. 2D Graphics GUI
2. 3D
3. Advanced Graphics
4. Ant
5. Apache Common
6. Chart
7. Class
8. Collections Data Structure
9. Data Type
10. Database SQL JDBC
11. Design Pattern
12. Development Class
13. EJB3
14. Email
15. Event
16. File Input Output
17. Game
18. Generics
19. GWT
20. Hibernate
21. I18N
22. J2EE
23. J2ME
24. JDK 6
25. JNDI LDAP
26. JPA
27. JSP
28. JSTL
29. Language Basics
30. Network Protocol
31. PDF RTF
32. Reflection
33. Regular Expressions
34. Scripting
35. Security
36. Servlets
37. Spring
38. Swing Components
39. Swing JFC
40. SWT JFace Eclipse
41. Threads
42. Tiny Application
43. Velocity
44. Web Services SOA
45. XML
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java » Collections Data Structure » Array Insert RemoveScreenshots 
Concatenate Java arrays
   
/*
 * Convenience methods for working with Java arrays.
 * Copyright (C) 2005 Stephen Ostermiller
 * http://ostermiller.org/contact.pl?regarding=Java+Utilities
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * See COPYING.TXT for details.
 */

import java.io.IOException;
import java.lang.reflect.Array;

/**
 * Convenience methods for working with Java arrays.
 * More information about this class is available from <a target="_top" href=
 * "http://ostermiller.org/utils/ArrayHelper.html">ostermiller.org</a>.
 *
 @author Stephen Ostermiller http://ostermiller.org/contact.pl?regarding=Java+Utilities
 @since ostermillerutils 1.06.00
 */
public final class ArrayHelper {

  /**
   * Concatenates the given arrays into a single long array.
   * The returned array will be of the common super type of the
   * two given arrays.
   * <p>
   * For example it can be called like this:<br>
   * <pre>
   * String[] arr = (String[])ArrayHelper.cat(new String[]{"one","two"}, new String[]{"three","four"});
   * </pre>
   *
   @param arr1 first array
   @param arr2 second array
   @return an array whose length is the sum of the given array's lengths and contains all the elements in the given arrays.
   @since ostermillerutils 1.06.00
   */
  public static Object[] cat(Object[] arr1, Object[] arr2){
    // Use reflection to find the super class of both arrays
    Class<?> commonSuperClass = Object.class;
    boolean foundcommonSuperClass=false;
    for (Class<?> c1 = arr1.getClass().getComponentType(); !foundcommonSuperClass && !c1.equals(Object.class); c1 = c1.getSuperclass()){
      for (Class<?> c2 = arr2.getClass().getComponentType(); !foundcommonSuperClass && !c2.equals(Object.class); c2 = c2.getSuperclass()){
        if (c2.equals(c1)){
          foundcommonSuperClass = true;
          commonSuperClass = c1;
        }
      }
    }
    // Create a new array of the correct type
    Object[] result = (Object[])Array.newInstance(commonSuperClass, arr1.length + arr2.length);
    // Copy the two arrays into the large array
    System.arraycopy(arr1, 0, result, 0, arr1.length);
    System.arraycopy(arr2, 0, result, arr1.length, arr2.length);
    return result;
  }



  /**
   * Tests two arrays to see if the arrays are equal.
   * Two arrays will be equal only if they are the same length
   * and contain objects that are equal in the same order.
   *
   @param arr1 first array
   @param arr2 second array
   @return true iff two arguments are equal
   @since ostermillerutils 1.06.00
   */
  public static boolean equal(Object[] arr1, Object[] arr2){
    if (arr1 == null && arr2 == nullreturn true;
    if (arr1 == null || arr2 == nullreturn false;
    if (arr1.length != arr2.lengthreturn false;
    for (int i=0; i<arr1.length; i++){
      if (!equalObjects(arr1[i], arr2[i])) return false;
    }
    return true;
  }

  /**
   * Tests if the two objects are equal
   *
   @param o1 first object
   @param o2 second object
   @since ostermillerutils 1.06.00
   */
  private static boolean equalObjects(Object o1, Object o2){
    if (o1 == null && o2 == nullreturn true;
    if (o1 == null || o2 == nullreturn false;
    return o1.equals(o2);
  }
}

   
    
    
  
Related examples in the same category
1. Adds all the elements of the given arrays into a new boolean-value array.
2. Adds all the elements of the given arrays into a new byte-type array.
3. Adds all the elements of the given arrays into a new char-type array.
4. Adds all the elements of the given arrays into a new double-type array.
5. Adds all the elements of the given arrays into a new float-type array.
6. Adds all the elements of the given arrays into a new int-type array.
7. Adds all the elements of the given arrays into a new long-type array.
8. Adds all the elements of the given arrays into a new short-type array.
9. Copies the given array and adds the given element at the end of the new array. (char type value)
10. Copies the given array and adds the given element at the end of the new array. (float type value)
11. Copies the given array and adds the given element at the end of the new array. (long value type)
12. Copies the given array and adds the given element at the end of the new array. (object value type)
13. Copies the given array and adds the given element at the end of the new array.(boolean value type)
14. Copies the given array and adds the given element at the end of the new array.(byte value type)
15. Copies the given array and adds the given element at the end of the new array.(double type value)
16. Copies the given array and adds the given element at the end of the new array.(int value type)
17. Copies the given array and adds the given element at the end of the new array.(short type array)
18. Inserts the specified element at the specified position in the array.
19. Inserts the specified element at the specified position in the boolean-type-value array.
20. Inserts the specified element at the specified position in the byte-type-value array.
21. Inserts the specified element at the specified position in the char-type-value array.
22. Inserts the specified element at the specified position in the double-type-value array.
23. Inserts the specified element at the specified position in the float-value-type array.
24. Inserts the specified element at the specified position in the int-type-value array.
25. Inserts the specified element at the specified position in the long-type-value array.
26. Inserts the specified element at the specified position in the short-value-type array.
27. Removes the element at the specified position from the specified array.
28. Removes the element at the specified position from the specified long type array.
29. Removes the first occurrence of the specified element from the specified array.
30. Removes the first occurrence of the specified element from the specified long value array.
31. Insert value to array
32. Array Copy Utilities
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.