package com.aflfte.array;
/**
* 数组的拷贝
* @author root
*
*/
public class TestArrayCopy {
public static void main(String[] args) {
//testBasicCopy2();
String[] str= {"阿里","京东","淘宝","百度","腾讯"};
//removeElment(str, 2);
String[] str2= {"新浪","谷歌","奇虎"};
//extendRange("360", str, 5);
extendArray(str2, str, 2);
}
public static void testBasicCopy() {
String[] s1= {"aa","bb","cc","dd","ee"};
String[] s2=new String[10];
//数组拷贝(源数组,起始位,目标数组,插入位置,拷贝数量)
System.arraycopy(s1, 2, s2, 6, 3);
for(int i=0;i<s2.length;i++) {//打印数组
System.out.println(i+"--"+s2[i]);
}
}
//从数组删除某个元素(本质上还是数组的拷贝操作)
public static void testBasicCopy2() {
String[] s1= {"aa","bb","cc","dd","ee"};
//String[] s2=new String[5];
//数组拷贝(源数组,起始位,目标数组,插入位置,拷贝数量)
System.arraycopy(s1, 3, s1, 2, s1.length-3);
s1[s1.length-1]=null;
for(int i=0;i<s1.length;i++) {//打印数组
System.out.println(i+"--"+s1[i]);
}
}
public static String[] removeElment(String[] s,int index) {
System.arraycopy(s, index+1, s, index, s.length-index-1);
//System.out.println(index);
s[s.length-1]=null;
for(int i=0;i<s.length;i++) {
System.out.println(s[i]);
}
return s;
}
//数组扩容(本质上是定义一个更大的数组然后把当前数组拷贝到新数组当中
public static void extendRange(String str,String[] s,int index) {//插入一个元素
if(index>0||index<=s.length) {
String[] s3=new String[s.length+1];//实现扩容
if(index>1) {//判断插入位置如果大于1
System.arraycopy(s, 0, s3, 0, index);//
//s[index]=str;
System.arraycopy(s, index, s3, index+1, s.length-index);
s3[index]=str;
}else {
s3[index-1]=str;
System.arraycopy(s, index-1, s3, index, s.length-index+1);
}
for(int i=0;i<s3.length;i++) {
System.out.println(s3[i]);
}
}
}
//在数组中插入数组
public static void extendArray(String[] str,String[] s,int into) {
String[] s2=new String[s.length+str.length];
if(into>0||into<=s.length) {
if(into>1) {
System.arraycopy(s, 0, s2, 0, into);
System.arraycopy(str, 0, s2, into, str.length);
System.arraycopy(s, into, s2, str.length+into, s.length-into);
}else {
System.arraycopy(str, 0, s2, 0, str.length);
System.arraycopy(s, 0, s2, str.length, s.length);
}
for(int i=0;i<s2.length;i++) {
System.out.println(s2[i]);
}
}
}
}
« Arrays工具类的使用
|
String的常用方法»
|