java中array用法
System.arraycopy拷贝数组,
arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。从 src 引用的源数组到
dest 引用的目标数组,数组组件的一个子序列被复制下来。被复制的组件的编号等于 length
参数。源数组中位置在 srcPos 到 srcPos◆length-1 之间的组件被分别复制到目标数组中的
destPos 到 destPos◆length-1 位置。
int[] res=new int[]{1,2,3,4,5};
int[] des=new int[]{6,7,8,9,10};
System.arraycopy(res,0,res,0,3);
TextView TV= (TextView) findViewById(R.id.text);
StringBuffer SB=new StringBuffer();
for (int i=0;i SB.append(res[i]); } TV.setText(SB.toString());123456789 打印结果12345; 如果参数 src 和 dest 引用相同的数组对象,则复制的执行过程就好消凳像首先将 srcPos 到 srcPos◆length-1 位置的组件复制到一个带有 length 组件的临时数组,然后再将此临时数组的内容复制到目标数组的 destPos 到 destPos◆length-1 位置一样。 System.arraycopy(res,1,res,0,3); 假如这样的话就是23445.。。。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.arraycopy(res,1,des,0,3); for (int i=0;i SB.append(des[i]); TV.setText(SB.toString()); //System.out.print(des.toString()); } 打印结果是234910. 好明显的道理就是我们是为了得到目标数组,原数组只起被复制的功能,我们打印一万遍源数组还是不变的。但是我们要考虑的是,我们复制则桥的长度再加上目标数组的起始位置不能大于目标数组的长度, System.arraycopy(res,1,des,4,3);1 我们拿盯旅不能从目标数组第四位加起,还截取3,那么就.ArrayIndexOutOfBoundsException:数组下标越界了。 所以要慎重。 是电脑的语言 不出意外一的话一般是指数组 Java中没有array,只有正孝盯Arrays这个类 此类包含用来操作数组(比如排序和搜索)的各慎掘种方法。此类还包举和含一个允许将数组作为列表来查看的静态工厂。 大堆。 array是一个英语举闹单词,名词、动词,作名词时意思是"数组,阵列;排列,列阵液吵;大批,一系列;衣服",作动词时意思是"排列,部署;打扮"。短语搭配array转换成数组SubmillimeterArray次毫米波阵列望远镜;位于夏威正埋罩夷的亚毫米波望远镜。 toArray()返回包含此 collection 中所有元素的数组。 c1.toArray()返回的是一个Object类型的数肆谨组,即Object[] 你的这段代码 for(int i=0;i System.out.println(c1.toArray()); } System.out.println(c1.toArray());等效裂迟基于System.out.println(c1.toArray().toString());打印的是数组对象的字符串旦祥表示形式,不是你说的哈希码 看jdk,有详细介绍。 查api文档吧 可以直接通过list的get方法获取到相应的传递的参数值。 举例: List list = new ArrayList();//定义一个list list.add("0");//赋值 list.add("1"); String str = list.get(0);//下标从宴数0开始 结果就是:0; 备注:传递的时晌晌首候只需要传递list对象即可,之后通过list的get方法获取到对应谨启的值即可实现灵活的多参数传递。