Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Spring Framework | Web Services | BioInformatics | Java Server Faces | Jboss 3.0 tutorial | Hibernate 3.0 | XML

Tutorial Categories: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML


Java Tutorials



Struts Tutorials

Struts Resources

Visit Forum! Post Questions!
Jobs At RoseIndia.net!

Array Review

[an error occurred while processing this directive]

Subscripts, Declaration, Allocation

  • Array subscripts start at 0.
  • Array subscription checks bounds. May throw ArrayIndexOutOfBoundsException.
  • Array declaration doesn't create an array.
    int[] a;          // Declares an array reference.
    a = new int[200]; // Allocates an array.
  • Arrays are allocated on the heap, not on the stack.
  • Copying an array reference doesn't copy the array.
       int[] a = int[100];
       int[] b;
  • The declared size of an array is accessed with the length field.
       for (int i=0; i<a.length; i++) { ...

Array Initialization

  • Array elements are initialized to 0 / null / false by default.
  • Arrays may be allocated and initialized on declaration.
      int a[] = {31, 28, 31, 30, 31};

Array Algorithms

  • The java.util.Arrays class has many algorithms for working with arrays.
    • equals(...)
    • fill(...)
    • sort(...)
    • binarySearch(...)
    • asList(...)
    • Do not confuse this with the java.lang.reflect.Array class or java.sql.Array interface.
  • System.arrayCopy(...) is another useful utility.
  • More algorithms are available for the Collections data structures, but not arrays directly (see asList to convert

Multidimensional Arrays

  • This discussion is about two-dimensional arrays, but there's no limit on the number of dimensions.
  • There are two kinds of two-dimensional array implementations
    • Compiler maps two subscripts into one linear space. (C, C++)
    • Array of arrays (C, C++, Java).
  • The Array-of-array approach allows ragged arrays.
  • Initilization is supported with nested braces.
  • Example
    int[][] a2 = { {1,2,4}, {5,5,7,8}, {9}};
    . . .
    for (int row=0; row<a2.length; row++) {
        for (int col=0; col<a2[row].length; col++) {
           if (a2[row][col] == specialValue) { . . .

Beyond Arrays

  • Arrays are very good for fixed-length data.
  • They are bad for variable length data, leading to buffer overflow vulnerabilities in C and C++, or ArrayIndexOutOfBoundsException in Java.
  • Insertions and deletions may give poor O() performance. LinkedList might be a good choice in this case.
  • A better choice is often one of the Collections data structures: eg, ArrayList (or the older Vector), etc.


Ask programming questions?



Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

0 comments so far (post your own) View All Comments Latest 10 Comments:
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification

Tell A Friend
Your Friend Name


Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright 2007. All rights reserved.

[an error occurred while processing this directive]