Gammapedia is archived. No new edits are allowed and no new accounts can be registered.

Vector: Difference between revisions

From Gammapedia
Jump to navigationJump to search
Abwayax (talk | contribs)
mNo edit summary
main method
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[Image:vectorstrongbadthumb.png|thumb|right|Vector graphics at their finest.]]
The '''Vector''' class implements a growable array of [[object]]s. Like an array, it contains components that can be accessed using an integer index. However, the size of a Vector can grow or shrink as needed to accommodate adding and removing items after the Vector has been created.
The '''Vector''' class implements a growable array of [[object]]s. Like an array, it contains components that can be accessed using an integer index. However, the size of a Vector can grow or shrink as needed to accommodate adding and removing items after the Vector has been created.


Line 15: Line 16:
   
   
  public class VectorTest {
  public class VectorTest {
     Vector crocs = new Vector();
     public static void main(String[] args) {
    crocs.add("Your [[Teh Face|Face]]");
        Vector crocs = new Vector();
    crocs.add(new Integer(5));
        crocs.add("Your [[Teh Face|Face]]");
    crocs.add("[[internets]]");
        crocs.add(new Integer(5));
   
        crocs.add("[[internets]]");
    crocs.remove(1);
       
   
        crocs.remove(1);
    System.out.println(crocs.get(0));  // Your [[Teh Face|Face]]
       
    System.out.println(crocs.get(1));  // internets
        System.out.println(crocs.get(0));  // Your [[Teh Face|Face]]
        System.out.println(crocs.get(1));  // internets
       
    }
  }
  }
==See Also==
==See Also==
* [[Vector Crocs]]
* [[Vector Crocs]]


[[Category: Simple]]
[[Category: Simple]]

Latest revision as of 00:19, 19 September 2006

Vector graphics at their finest.

The Vector class implements a growable array of objects. Like an array, it contains components that can be accessed using an integer index. However, the size of a Vector can grow or shrink as needed to accommodate adding and removing items after the Vector has been created.

Each vector tries to optimize storage management by maintaining a capacity and a capacityIncrement. The capacity is always at least as large as the vector size; it is usually larger because as components are added to the vector, the vector's storage increases in chunks the size of capacityIncrement. An application can increase the capacity of a vector before inserting a large number of components; this reduces the amount of incremental reallocation.

As of the Java 2 platform v1.2, this class has been retrofitted to implement List, so that it becomes a part of Java's collection framework. Unlike the new collection implementations, Vector is synchronized.

The Iterators returned by Vector's iterator and listIterator methods are fail-fast: if the Vector is structurally modified at any time after the Iterator is created, in any way except through the Iterator's own remove or add methods, the Iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the Iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future. The Enumerations returned by Vector's elements method are not fail-fast.

Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

This class is a member of the Java Collections Framework.

Example

import java.util.Vector;

public class VectorTest {
   public static void main(String[] args) {
       Vector crocs = new Vector();
       crocs.add("Your Face");
       crocs.add(new Integer(5));
       crocs.add("internets");
       
       crocs.remove(1);
       
       System.out.println(crocs.get(0));  // Your Face
       System.out.println(crocs.get(1));  // internets
        
   }
}

See Also