一个java数组问题,,,,
为何我定义了一个arr[10][变化值]的数组,用arr[i].length得到的长度却是10呢,我想得到 "变化值 "啊
------解决方案--------------------循环啊!
------解决方案--------------------我觉得不是特殊需要就不用数组
用ArrayList(就是数组) 和 vector 比较好
------解决方案--------------------Object[][] o=new Object[10][5];
o[0].length 出来的就是5
------解决方案--------------------学习
------解决方案-------------------- "arr[i].length "对于每一个i都有一个长度对应
------解决方案--------------------如果是出于性能考虑的话,还是优先使用array吧,其次是ArrayList,最后才是Vector
可以参考Practical Java的相关论述
------解决方案--------------------int[][] arr={
{1,2,3,4,5,6},
{1,2,3,4},
{1,2,3,4,5,6,7,8,8}
};
中,
arr[0].length=6
arr[1].length=4
------解决方案--------------------ArrayList用法(转载)
System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。
一.优点
1。支持自动改变大小的功能
2。可以灵活的插入元素
3。可以灵活的删除元素
二.局限性
跟一般的数组比起来,速度上差些
三.添加元素
1.publicvirtualintAdd(objectvalue);
将对象添加到ArrayList的结尾处
ArrayListaList=newArrayList();
aList.Add( "a ");
aList.Add( "b ");
aList.Add( "c ");
aList.Add( "d ");
aList.Add( "e ");
内容为abcde
2.publicvirtualvoidInsert(intindex,objectvalue);
将元素插入ArrayList的指定索引处
ArrayListaList=newArrayList();
aList.Add( "a ");
aList.Add( "b ");
aList.Add( "c ");
aList.Add( "d ");
aList.Add( "e ");
aList.Insert(0, "aa ");
结果为aaabcde
3.publicvirtualvoidInsertRange(intindex,ICollectionc);
将集合中的某个元素插入ArrayList的指定索引处
ArrayListaList=newArrayList();
aList.Add( "a ");
aList.Add( "b ");
aList.Add( "c ");
aList.Add( "d ");
aList.Add( "e ");
ArrayListlist2=newArrayList();
list2.Add( "tt ");
list2.Add( "ttt ");
aList.InsertRange(2,list2);
结果为abtttttcde
四.删除
a)publicvirtualvoidRemove(objectobj);
从ArrayList中移除特定对象的第一个匹配项,注意是第一个
ArrayListaList=newArrayList();
aList.Add( "a ");
aList.Add( "b ");
aList.Add( "c ");
aList.Add( "d ");
aList.Add( "e ");
aList.Remove( "a ");
结果为bcde
2.publicvirtualvoidRemoveAt(intindex);
移除ArrayList的指定索引处的元素
aList.Add( "a ");
aList.Add( "b ");
aList.Add( "c ");
aList.Add( "d ");
aList.Add( "e ");
aList.RemoveAt(0);
结果为bcde
3.publicvirtualvoidRemoveRange(intindex,intcount);
从ArrayList中移除一定范围的元素。Index表示索引,count表示从索引处开始的数目
aList.Add( "a ");
aList.Add( "b ");
aList.Add( "c ");
aList.Add( "d ");
aList.Add( "e ");
aList.RemoveRange(1,3);
结果为ae
4.publicvirtualvoidClear();
从ArrayList中移除所有元素。
五.排序
a)publicvirtualvoidSort();
对ArrayList或它的一部分中的元素进行排序。
ArrayListaList=newArrayList();