Java基礎學習之-數組操作

數組元素的排序

int array[]= {-1,3,0,5,2};
//【數組排序】
Arrays.sort(array);//從小到大排序:-1,0,2,3,5

數組元素的位置查找

//【數組元素的位置查找】查找值爲5的索引,存在,則返回索引位置,否則返回負數或者:-插入點
int array[]= {-1,3,0,5,2};
System.out.println(Arrays.binarySearch(array,8));
// 二分法查找,數組必須是有序的
for(int a:array) {
	System.out.println(a);
}

數組元素的反轉

List<String> list=new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
Iterator<String> iterator=list.iterator();
System.out.println("迭代前的數組");
while(iterator.hasNext()) {
	System.out.print(iterator.next());
}
System.out.println();
System.out.println("迭代之後的數組");
Collections.reverse(list);//【集合反轉】只能傳入集合
for(String i:list) {
	System.out.print(i);
}

數組中的最大值和最小值

//【數組中的最小值和最大值】
Integer[] integer= {1,5,-10,8,-12};
int min=(int) Collections.min(Arrays.asList(integer));
int max=(int) Collections.max(Arrays.asList(integer));
System.out.println(min);
System.out.println(max);

數組合並

String st[]= {"A","B"};
String sm[]= {"C","D"};
System.out.println(st);
@SuppressWarnings("rawtypes")
List list=new ArrayList(Arrays.asList(st));
System.out.println("list:"+list);

//【Arrays.asList()-數組轉換成集合的方法】;
System.out.println(Arrays.asList(sm));
list.addAll(Arrays.asList(sm));//集合添加
System.out.println(list);
System.out.println("轉換成數組對象");
//【集合轉換成數組】
Object[] c=list.toArray();
System.out.println(c.length);
System.out.println(c[0]);
//【對象數組的循環輸出方式】
for(Object string:c) {
	System.out.println(string);
}
//toString,以字符串的方式返回;
System.out.println(Arrays.toString(c));

數組填充

int data[]= {1,23,10,58};
for(int child:data) {
	System.out.println(child);
}
System.out.println();
//所有數組中的數據全部用-78填充;
Arrays.fill(data,-78);
//從位置0開始填充位置1結束(不包含位置1)
Arrays.fill(data,0,2,-78);		
Integer[] integers= {12,34,89};		

數組擴容

//【數組擴容】
String str1[]=new String[5];
str1[0]="A";
str1[1]="B";
str1[2]="C";
String str1[]= {"A","B","C"};
String str2[]= {"D","E"};
//從str2的位置0開始拷貝到str1,str1的位置3開始,拷貝兩個原始
//ABCDE
System.arraycopy(str2, 0, str1, 3, 2);
//printArray(str1);//打印數組

刪除數組元素

ArrayList<String> strings=new ArrayList<String>();
strings.add(0, "第first元素");
strings.add(1, "第second元素");
strings.add(2, "第third元素");
//printArrayList(strings);//打印數組
strings.remove(1);//刪除索引爲0的元素
//printArrayList(strings);//打印數組
//輸出元素“第third元素”
strings.remove("第third元素");
//printArrayList(strings);//打印數組

數組差值

//【數組差值】[移除指定的元素]
ArrayList list1=new ArrayList();
ArrayList list2=new ArrayList();
list1.add("A");
list1.add("B");
list1.add("C");
list2.add("B");
list2.add("C");
//printArrayList(list1);
//printArrayList(list2);
//移除list1中指定的元素list2
list1.removeAll(list2);
//printArrayList(list1);

數組交集

//【數組交集】
ArrayList list1=new ArrayList();
ArrayList list2=new ArrayList();
list1.add("A");
list1.add("B");
list1.add("C");
list2.add("B");
//list2.add("C"); 
//printArrayList(list1);
//printArrayList(list2);
list1.retainAll(list2);//取兩個列表中的交集
//printArrayList(list1);

數組元素查找

ArrayList list1=new ArrayList();
ArrayList list2=new ArrayList();
list1.add("A");
list1.add("B");
list1.add("C");
list2.add("B");
System.out.println(list1.contains("A"));
System.out.println(list1.contains("D"));

判斷數組

//【判斷數組是否相等】
int[] int1= {1,2};
int[] int2= {3,4};
int[] int3= {1,2};
System.out.println(Arrays.equals(int1, int2));//false
System.out.println(Arrays.equals(int1, int3));//true

數組合並

//【數組並集】--主要利用列表進行合併
String strs1[]= {"A","B","D","P"};
String strs2[]= {"B","C","D","F"};
String strs3[]= new String[3];
ArrayList lis1=new ArrayList(Arrays.asList(strs1)); 
ArrayList lis2=new ArrayList(Arrays.asList(strs2)); 
System.out.println(lis1.get(0));//獲取位置0的元素
System.out.println(lis1.size());//獲取集合的長度

//合併兩個集合並刪除重複的元素
ArrayList returnList=unionList(lis1, lis2);
System.out.println(returnList);
Object newstr[]=returnList.toArray();
System.out.println();
//printMoreArray(newstr);//打印數組

//刪除重複的元素
public static ArrayList unionList(ArrayList list1,ArrayList list2) {
	ArrayList list = new ArrayList();
	for(Object lists1:list1) {
		list.add(lists1);
	}
	for(Object lists2:list2) {
		list.add(lists2);
	}
	for(int i=0;i<list.size();i++) {
		for(int j=0;j<list.size();j++) {
			if(i!=j && list.get(i)==list.get(j)) {
				System.out.println("重複原始爲:"+list.get(i));
				list.remove(i);
			}
		}
	}
	return list;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章