How to redefine (expand) array at runtime?

If I have an array
MyArray = new Object[100];
how can I redefine MyArray -- AT RUNTIME -- to hold 200 Objects instead of 100?
Is that even possible in Java?
Thanks,
Matthew

I think you're right -- but I should be more specific in my example:
MyTable = new Object[100][NUM_FIELDS];
Where "100" is the number of records in the database.
What if I need to add a record to the database?
Now ArrayList might be a good solution, but how would I declare one in my case? The left-most index is the one I'm trying to make "dynamic" via ArrayList, whereas the right-most index is always the same number.
Any code samples, or pointers to a good explanation?
I found the Doc page for ArrayList:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html
but it doesn't give any examples and doesn't mention multi-dimensional arrays.
Matthew

Similar Messages

  • How can I allocate memory at runtime?

    Hi,
    I have declared a an array of objects like.
    private SampeObject [] channelAccounts = null;
    How can I allocate the memory at runtime(dynamically) ? I tried with
    channelAccounts = new SObject(); But its giving runtime null pointer exception.
    Can anyone tell me how can I allocate the memory.
    Thanks,
    Chinnionline

    public class ArrayAlloExample
        public void buildArray()
            // Determine how many you want
            int howMany = 12 ;
            // Declare the array to be the size its supposed to be
            SampleObject[] sObjList = new SampleObject[howMany] ;
            // Spin through the array and load it with new objects
            for(int i=0; i<howMany; i++)
                sObjList[i] = new SampleObject() ;
    class SampleObject
        private String stuff ;
        public SampleObject()
            super() ;
            doStuff() ;
        public void doStuff()
            stuff = "Put some really spiffy stuff here" ;
    }This is an example of how to load an array of objects. That said, there are MUCH better ways of dealing with collections of things than with arrays.
    Arrays are handy when you know how many of something you're going to have. If you don't, then I'd reccomend an ArrayList or something similar.
    Hope this helps,
    PS.

  • How to Search and Array for multiple occurrences of a value

    Hi,
    I am trying to search an array of doubles for a number and report the index location(s) of a number. I.e. -allow for repetition. Search and report all index[i] where the number is contained in the array. For example I have
    double[] myInputArray = new double[5];
    double[] myInputArray = { 1, 2, 3, 3, 5 }I know how to search through the array ONCE and return the first occurrence of a number:
    public double GetIndexOf(double Number) {
        for (int i=0; i<myInputArray.length; i++) {
             if (myInputArray[i] == Number){
                  return(i);
        return(-1);
      }How do I expand this code to report multiple index[i] locations if the number reoccurs in the array like the number 3 does in my example array above?

    The way the Java libraries do this type of operation (String.indexOf(), etc) is to specify the starting index along with what you want to find.
    Changing your example slightly (notice how I fixed your naming and more importantly, your return type):
    public int indexOf(double num) {
       return indexOf(num, 0);
    public int indexOf(double num, int fromIndex) {
        for (int i=fromIndex; i<myInputArray.length; i++) {
             if (myInputArray[i] == num){
                  return(i);
        return(-1);
    //usage to get all indices:
    for ( int index = -1; (index = indexOf(num, index+1)) != -1; ) {
       System.out.println(index);
    }Note that due to how floating point numbers work, you may find doing this on doubles (or any other operation that uses == with double arguments) to give you unexpected results.

  • How to update the ItemRenderer at runtime..?

    Hi....
    am facing a hectic problem with ITemRenderes..
    My requirement is like i need to insert a Label and Image in
    each item of Horizontal List.
    For this i created a ArrayCollection with Lable and
    ImagePath. And assigning array as a Dataprovider to HorizontalList.
    and am attaching itemrenderer to it (which hold the lable and
    image).
    code:
    var data:ArrayCollection=new ArrayCollection({label:'A',
    path:'a.jpg'}, {label:'B', path:'b.jpg'}{label:'C', path:'c.jpg'});
    var hList:HorizontalList=new HorizontalList();
    hList.dataProvider=data;
    hList.itemRenderer=new ClassFactory(rendererObj);
    rendererObj holds the Lable Component and Image Componnet..
    Now the porblem is am trying to change the horizontal list at
    runtime. Like i want to change the lable of selected item in
    Horizontal list. Am able to update the arraycollection values. But
    its not getting effected in ItemRenderer.
    How to update the itemerenderer at runtime...?
    Thanks in Advance...
    Pratap

    Hi Pratap,
    I was playing with some sample code for this...
    Here is the main.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:Script>
    <![CDATA[
    import mx.utils.ArrayUtil;
    import mx.collections.ArrayCollection;
    import mx.collections.IViewCursor;
    import mx.controls.Alert;
    import mx.events.*;
    import mx.controls.dataGridClasses.DataGridListData;
    import mx.controls.listClasses.BaseListData;
    import mx.controls.HorizontalList;
    import mx.controls.dataGridClasses.DataGridColumn;
    import mx.containers.TitleWindow;
    [Bindable] private var myItemRenderer:ClassFactory;
    private function doit()
    myItemRenderer = new ClassFactory(rendererObj);
    var mydata:ArrayCollection=new
    ArrayCollection([{mylabel:'A', path:'a.jpg'}, {mylabel:'B',
    path:'b.jpg'},{mylabel:'C', path:'c.jpg'}]);
    var myList:HorizontalList = new HorizontalList();
    myList.dataProvider = mydata;
    this.addChild(myList);
    myList.itemRenderer=myItemRenderer;
    ]]>
    </mx:Script>
    <mx:Button x="204" y="191" label="Button"
    click="doit()"/>
    </mx:Application>
    Here is the rendererObj.mxml (component/itemrenderer)
    <?xml version="1.0" encoding="utf-8"?>
    <mx:VBox xmlns:mx="
    http://www.adobe.com/2006/mxml"
    width="110" height="76"
    implements="mx.core.IFactory,mx.controls.listClasses.IDropInListItemRenderer"
    backgroundColor="#BAB3B3" borderStyle="solid" borderThickness="3"
    borderColor="#000000">
    <mx:Script>
    <![CDATA[
    import mx.collections.IViewCursor;
    import mx.controls.listClasses.BaseListData;
    import mx.controls.Label;
    private var _listData:BaseListData;
    public function newInstance():*
    return new rendererObj();
    public function get listData() : BaseListData
    return _listData;
    public function set listData( value:BaseListData ) : void
    _listData = value;
    override public function set data(value:Object):void {
    if (value != null)
    var r:Label = new Label();
    r.text = value.mylabel;
    this.addChild(r);
    ]]>
    </mx:Script>
    </mx:VBox>
    See how that works..you press the button and the itemrenderer
    gets drawn into the horiz. list with the values from the
    arraycollection.
    I didnt implement the picture, but you get the idea on how to
    get
    the values into the hlist..
    hope this helps...

  • How do collections expand?

    Does anyone have an explanation of how, from the hardware perspective, collections manage to just keep expanding if required after they have been instantiated? I am wondering because with normal arrays or memalloc memory is allocated or reserved a fixed amout of physical memory size when declared and cannot be increased.
    Chris

    georgemc wrote:
    They just do. No, I'm not being flippant, that's all you need to knowI disagree. I think it's worth knowing how collections can expand, though it's not that important to know how these particular implementations do it.
    @OP: When you download the JDK, there's a file src.zip that contains the source code for the core APIs. Look in there to see how java.util.ArrayList and java.util.LinkedList work.

  • How can I create a Forms9i Runtime for client distribution

    Currently we have an application developed in Forms 5.0.6.8.0 our Database has been upgraded to 9i DB. The application is working fine with this combination but we want to upgrade Forms in order to get Oracle Support. We just get the Developer Suite 9i package and we're trying to test our application with this software.
    How can I create the client runtime for Forms 9i?
    My application will work with Win 95 and 98?
    Thanks.

    Oracle9i Forms is web-only. Forms 6i is the last release of Forms to have client/server and character mode.
    You can test Forms from the Builder by installing iDS. To deploy Forms using iAS follow the documentation. It's all there in the deployment guide.
    iAS and Forms doco can be found on OTN.
    Regards,
    Robin Zimmermann
    Forms Product Management

  • When on the internet, how do I expand webpage to fill the whole screen?

    When on the internet, how do I expand a webpage to fill the whole screen?

    Perhaps Safari isn't quite what you require, too much work involved all the time making it easier to see
    Take a look at my customized Firefox:
    it always opens to the same size window (or full screen if you like)
    it always zooms all web pages 160% (or whateve you like)
    it always has large type on the menu bar area. (to whatever you like)
    it's very highly customizable,  (or use the plain default settings)
    has more add-ons than anyone (a real plus when you need it)
    has more themes and personas than anyone (make it YOUR browser)
    Easier surfing option for hard of seeing users
    Safari is about the absolute worst browser since Internet Explorer, it's because Apple has already got your money so there isn't any incentive for them to make a better browser.

  • TS3999 In MONTH, (PC) iCal only clearly lists 2 items a day. The 3rd item is "faded" and bottom portion cut off, w/ a "more" triangle in the lower-right corner. How can I expand (vertically) so the 3rd line posts clearly, and ONLY shows "more" if 4+ event

    In MONTH, (PC) iCal only clearly lists 2 items a day. The 3rd item is "faded" and bottom portion cut off, w/ a "more" triangle in the lower-right corner. How can I expand (vertically) so the 3rd line posts clearly, and ONLY shows "more" if 4+ events?
    Better yet... as there's a lot of "wasted" space w/ too large Month title and empty space surrounding the Month title above and too much space surrounding the month/year slider bar below, how can I minimize these to allow me more usable / valuable calendar "contents" so I don't need to waste so much time clicking "more" just to see the bottom of the truncated third event and find out there are no 4+ events posted that date?  i.e. more "user-friendly" presentation?
    Thx!
    [email protected]

    In MONTH, (PC) iCal only clearly lists 2 items a day. The 3rd item is "faded" and bottom portion cut off, w/ a "more" triangle in the lower-right corner. How can I expand (vertically) so the 3rd line posts clearly, and ONLY shows "more" if 4+ events?
    Better yet... as there's a lot of "wasted" space w/ too large Month title and empty space surrounding the Month title above and too much space surrounding the month/year slider bar below, how can I minimize these to allow me more usable / valuable calendar "contents" so I don't need to waste so much time clicking "more" just to see the bottom of the truncated third event and find out there are no 4+ events posted that date?  i.e. more "user-friendly" presentation?
    Thx!
    [email protected]

  • How can I expand the gutters in a document created with a Pages brochure template?

    How can  I expand the gutters/ space between panels on a document created with a Pages brochure template?

    You haven't said which.
    Each panel is usually just a locked object, unlock them and resize the boxes.
    Peter

  • How to dynamically resize JPanel at runtime??

    Hello Sir:
    I met a problem, I need to resize a small JPanel called panel within a main Control JPanel (with null Layout) if I click the mouse then I can Drag and Resize this small JPanel Border to the size I need at runtime, I know I can use panel.setSize() or panel.setPreferredSize() methods at design time,
    But I have no idea how to do it even I search this famous fourm,
    How to dynamically resize JPanel at runtime??
    Can any guru throw some light or good example??
    Thanks

    Why are you using a null layout? Wouldn't having a layout manager help you in this situation?

  • I have recently purchased a hybred 750GbHDD as an upgrade for my MAC Book Pro (Intell Version) I have a boot camp partition to the original 500GB HDD. How can I expand both partitions to fit the new drive?

    I have recently purchased a hybred 750GbHDD as an upgrade for my MAC Book Pro (Intell Version) I have a boot camp partition to the original 500GB HDD. How can I expand both partitions to fit the new drive?
    I have tried bootcamp and have had no luck due to the fact that boot camp doesn't see the additional HDD space of 250Gb. What am I not doing?

    Ouch, well there is a problem.
    This is the stack of partitions on your old drive
    EFI (hidden)
    Lion (50GB say)
    Bootcamp (50GB say)
    Lion Recovery Partiton (hidden)
    This is the same stack on your new drive imaged from the old one.
    EFI (hidden)
    Lion (50GB say)
    Bootcamp (50GB say)
    Lion Recovery Partiton (hidden)
    Emtpy Space (100GB say)
    This is what you want
    EFI (hidden)
    Lion (100GB say)
    Bootcamp (100GB say)
    Lion Recovery Partiton (hidden)
    EFI has to be at the top of the drive and Lion Recovery has to be at the bottom of the drive.
    And you only have four partitions.
    You can't move the Lion Recovery Partition or Bootcamp partiton, however you can expand the Lion Partition into empty space below it. (but can't delete or move the Lion Recovery partition)
    Your Duplicator duplicated perfectly, too perfectly Likely would work with same sized drives/partitions.
    This is what your going to need to do.
    You need to move the Bootcamp partition to a blank external drive using WinClone and disconnect. This is so you have two backups of it. (one on your old 500GB drive)
    You will need a drive enclousre or IDE/SATA to USB adapter cable for the older 500GB drive and option key boot from it. (some enclosures can't be booted from so check first Other World Computing is good place to ask)
    Download the free Carbon Copy Cloner, grab any new files off the new 750GB internal drive to the old 500GB your booted from.
    Open Apple's Disk Utility and Erase with Zero option the entire internal 750GB drive and let it rip, this will map off as many bad sectors and improve reliability.
    Now use Carbon Copy Cloner to clone the 500GB Lion + Lion Recovery Partitions to the internal 750GB, it will "fix" things and place Lion Recovery at the bottom of the drive where it belongs, give all the extra space to OS X Lion.
    Next your going to have to follow WinClones instructions to restore your Bootcamp, likely you will have to recreate the Bootcamp partition first (in Bootcamp) to the size you want and then clone. Likely Winclone may "fix" Windows to recognize it's in a new larger partition now. I don't know you'll have to check as I haven't used it.
    When Bootcamp creates the partition it will place it near the bottom next to the Lion Recovery Partition.
    As you know you will have to re-validate Windows with Lord Redmond or it expires as you changed the hardware.

  • How do I deal with a Runtime Error on Adobe Acrobat 9.5?

    How do I deal with a Runtime Error on Adobe Acrobat 9.5? The instructions say to contact the support team but I have to pay in order to do so.

    What operating system and what is the statement of the error. Typically you would first run a repair on Acrobat from the help menu (or in Windows you can do that from the Control Panel>Add/Remove Programs).

  • How to create an array with Generic type?

    Hi,
    I need to create a typed array T[] from an object array Object[]. This is due to legacy code integration with older collections.
    The method signature is simple:public static <T> T[] toTypedArray(Object[] objects)I tried using multiple implementations and go over them in the debugger. None of them create a typed collection as far as I can tell. The type is always Object[].
    A simple implementation is just to cast the array and return, however this is not so safe.
    What is interesting is that if I create ArrayList<String>, the debugger shows the type of the array in the list as String[].
    If I create ArrayList<T>, the class contains Object[] and not T[].
    I also triedT[] array = (T[]) Array.newInstance(T[].class.getComponentType(), objects.length);And a few other combinations. All work at runtime, create multiple compilation warnings, and none actually creates T[] array at runtime.
    Maybe I am missing something, but Array.newInstace(...) is supposed to create a typed array, and I cannot see any clean way to pass Class<T> into it.T[].class.getComponentType()Returns something based on object and not on T, and T.class is not possible.
    So is there anything really wrong here, or should I simply cast the array and live with the warnings?
    Any help appreciated!

    Ok. May be you could keep information about generic type in the your class:
    public class Util {
        public static <T> T[] toTypedArray(Class<T> cls, Object[] objects){
            int size = objects.length;
            T[] t = (T[]) java.lang.reflect.Array.newInstance(cls, size);
            System.arraycopy(objects, 0, t, 0, size);
            return t;
    public class Sample<T> {
        Class<T> cls;
        T[] array;
        public Sample(Class<T> cls) {
            this.cls = cls;
        public void setArray(Object[] objects){
            array = Util.toTypedArray(cls, objects);
        public T[] getArray(){
            return array;
        public static void main(String[] args) {
            Object[] objects = new Object[] { new LinkedList(), new ArrayList()};
            Sample<List> myClass = new  Sample<List>(List.class);
            myClass.setArray(objects);
            for(List elem: myClass.getArray()){
                System.out.println(elem.getClass().getName());
    }

  • The box in my Photoshop Elements, which shows the size and types of brushes has shrunk to one unreadable line. How do I expand the box to its original size?  I have tried dragging it open but nothing moves.

    The box in my Photoshop Elements, which shows the size and type of brushes, has shrunk to one unreadable line. How can I expand this box to its original size? I have tried dragging it open but nothing happens and none of the tool boxes appear to give me an expansion option

    Well, when you open the program, the splash screen, the window you see while the program is opening, should make that clear enough. For example:

  • How to map an array to fixed fields using Biztalk mapper

    I need to remap an array of objects like this:
        <Root>
          <ListOfObjs>
            <Obj>
              <Attr1>0000</Attr1>
              <Attr2>Hello!</Attr2>
            </Obj>
            <Obj>
              <Attr1>1111</Attr1>
              <Attr2>Hello1!</Attr2>
            </Obj>
          </ListOfObjs>
        </Root>
    in an output like this:
            <Root>
                <Obj1_Attr1>0000</Obj1_Attr1>
                <Obj1_Attr2>Hello!</Obj1_Attr2>
                <Obj2_Attr1>1111</Obj2_Attr1>
                <Obj2_Attr2>Hello1!</Obj2_Attr2>
            </Root>
    So in my XSD schema I have something like this:
    Schema Input
                               <xs:element name="Root">
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name="ListOfObjs">
                                   <xs:complexType>
                                    <xs:sequence>
                                     <xs:element name="Obj">
                                      <xs:complexType>
                                       <xs:sequence>
                                        <xs:element name="Attr1">
                                         <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="50"/>
                                          </xs:restriction>
                                         </xs:simpleType>
                                        </xs:element>
                                       <xs:element name="Attr2">
                                        <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="50"/>
                                          </xs:restriction>
                                         </xs:simpleType>
                                        </xs:element>
                                       </xs:sequence>
                                      </xs:complexType>
                                     </xs:element>
                                    </xs:sequence>
                                   </xs:complexType>
                                  </xs:element>
    Schema output
                                     <xs:element name="Root">
                                      <xs:complexType>
                                       <xs:sequence>
                                        <xs:element name="Obj1_Attr1">
                                         <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="50"/>
                                          </xs:restriction>
                                         </xs:simpleType>
                                        </xs:element>
                                       <xs:element name="Obj1_Attr2">
                                        <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="50"/>
                                          </xs:restriction>
                                         </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="Obj2_Attr1">
                                        <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="50"/>
                                          </xs:restriction>
                                         </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="Obj2_Attr2">
                                        <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="50"/>
                                          </xs:restriction>
                                         </xs:simpleType>
                                        </xs:element>
                                       </xs:sequence>
                                      </xs:complexType>
                                     </xs:element>
    In addiction I have to evaluate every single value because when I found some conditions (like if value=0000 output should be NULL).
    What would be the best way to do it? I'm thinking to develop a custom functoid but I'm not sure it would be the best way, probably it could be done even using XSLT inline transforms, can you point me in the best direction?
    Thank you

    Hi,
    You cannot directly map an array output to any single field in BizTalk mapper.
    Couple of options :
    1) create
    the Xslt or inline C# code
    Refer: 
    http://seroter.wordpress.com/2008/10/07/splitting-delimited-values-in-biztalk-maps/
    2) Shankycheil has
    provided a solution to similar requirement in the below link, u can also refer that.
    https://social.msdn.microsoft.com/Forums/en-US/55ec472d-4f34-4057-b1c6-0e50740f0f6e/how-to-itterate-string-array-values-in-biztalk-mapper?forum=biztalkgeneral
    Rachit
    Thank you, I already seen both posts, but I'm not sure they are what I need or I can't understand well how to use them.
    Speaking about the first solution, as I told before, in the example I should have an array already formed and delimited by a char (something like "obj1attr1-obj1attr2-ob2attr1-obj2attr2". In this situation probably this example could be a good
    point to start from, but how to transform my complex input object in a similar formatted string?
    About the second I don't understand well what is the working solution that they have adopted. Is the 4 steps solution suggested by  Shankycheil? If yes, how can I loop between all array elements and extract all their values?

Maybe you are looking for