Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Beginning Java and the fly likes Is there a method to find what part of array has been filled Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Is there a method to find what part of array has been filled" Watch "Is there a method to find what part of array has been filled" New topic
Author

Is there a method to find what part of array has been filled

ramanuja varun
Ranch Hand

Joined: Aug 31, 2007
Posts: 47
Supposing I have an array with its length as 10.I have filled six of it.The method should return 6. Now i would like to if there is any method in API to know what part of the Array has been filled.
Christophe Verré
Sheriff

Joined: Nov 24, 2005
Posts: 14688
    
  16

Now i would like to if there is any method in API to know what part of the Array has been filled.

What do you exactly want ? An array of indexes ? An array of elements ? I don't think that there is such methods in the API.


[My Blog]
All roads lead to JavaRanch
ramanuja varun
Ranch Hand

Joined: Aug 31, 2007
Posts: 47
Its an array of elements
Thomas Thevis
Ranch Hand

Joined: Sep 02, 2008
Posts: 87
Do you have to use an array? In the Collections framework in java.util, there are a lot of classes dealing with effective element storage and retrieval.


SCJP 5.0, SCJD in progress
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 40052
    
  28
I don't think there is such a method, I am afraid.
An array has a fixed length.

There is a potential workaround; the elements of an array are a bit like instance fields in that they have default values; booleans default to false, numbers default to 0 (or 0L 0d or 0f) and reference types default to null. You can iterate through the array counting how many elements are different from their default types. Of course if you "fill" an array with 0s that technique will give a totally misleading answer.

Alternative: create a class which incorporates an array and methods to insert and retrieve values. You can have counters for how many values have been inserted, or an array of booleans which change from false to true or vice versa whenever a value is inserted first time, and use those to count insertions.
 
wood burning stoves
 
subject: Is there a method to find what part of array has been filled