1. 程式人生 > >JAVA——基本字元操作(二)

JAVA——基本字元操作(二)

JAVA——基本字元操作、

本文通過一個例子,來展示兩個字元集合間的對比結果。

1.要求

設有兩字串構成的集合,字串內容值為 A:{a,b,c,d,e,f,g,in,off,about,get} B:{f,g,a,come,get,go} 求出:(1)AB集合的交集。 (2)只在A集中出現的字串集合。 (3)AB集合的並集。

2.程式碼

import java.util.Arrays;
import java.util.List;

public class dyrw15 {
    public static void
main(String[] args) { // TODO Auto-generated method stub //建立字串陣列,並賦值 String[] arr1 = {"a","b","c","d","e","f","g","in","off","about","get"}; String[] arr2 = {"f","g","a","come","get","go"}; //測試AB集合的交集,呼叫intersect方法 String[] arr3 = intersect(arr1,arr2); System.out
.print("AB集合的交集如下:\n"); for(int i=0;i<arr3.length;i++) { //遍歷輸出結果字串陣列 if(arr3[i] != null) { System.out.print(arr3[i]+" "); } } System.out.println(); System.out.println(".............................分隔線............................."
); //測試只在A集中出現的字串集合,呼叫method方法 String[] arr4 = method(arr1,arr2); System.out.print("只在A集中出現的字串集合:\n"); for(int i=0;i<arr4.length;i++) { //遍歷輸出結果字串陣列 if(arr4[i] != null) { System.out.print(arr4[i]+" "); } } System.out.println(); System.out.println(".............................分隔線............................."); //測試AB集合的並集,呼叫union方法 String[] arr5 = union(arr1,arr2); System.out.print("AB集合的並集如下:\n"); for(int i=0;i<arr5.length;i++) { //遍歷輸出結果字串陣列 if(arr5[i] != null) { System.out.print(arr5[i]+" "); } } } //(1)AB集合的交集。 public static String[] intersect(String[] a1,String[] a2) { String[] a3 = new String[10];//建立字串陣列物件 //(存在一定缺陷,不夠靈活,不知道該陣列中元素個數) int k = 0; for(int i=0;i<a1.length;i++) { for(int j=0;j<a2.length;j++) { if(a1[i].equals(a2[j])) {//判斷兩元素是否相同 a3[k] = a1[i];//相同則記錄到新的陣列中 k++; } } } return a3; } //(2)只在A集中出現的字串集合。 public static String[] method(String[] a1,String[] a2) { String[] a3 = new String[10];//建立字串陣列物件 int k = 0; for(int i=0;i<a1.length;i++) { List<String> list = Arrays.asList(a2);//將字串陣列a2轉換成list if(!list.contains(a1[i])) { //呼叫list的contains方法,判斷list中是否含有某元素 a3[k] = a1[i];//不含,則記錄到新陣列中 k++; } } return a3; } //(3)AB集合的並集。 public static String[] union(String[] a1,String[] a2) { String[] a3 = new String[20];//建立字串陣列物件 System.arraycopy(a1, 0, a3, 0, a1.length); //實現陣列之間的複製,先將A集合中的元素全部複製入新陣列中(源陣列,源陣列要複製的起始位置,目的陣列,目的陣列放置的起始位置,複製的長度) int k = a1.length; List<String> list = Arrays.asList(a1); for(int i=0;i<a2.length;i++) { if(!list.contains(a2[i])) { //呼叫list的contains方法,判斷list中是否含有某元素 a3[k+1] = a2[i];//不含,則把B集合中的元素加入到新陣列中 k++; } } return a3; } }

3.結果

編譯結果如下圖所示: 這裡寫圖片描述 執行結果如下圖所示: 這裡寫圖片描述