JAVA List合並集合


import java.util.ArrayList;
import java.util.List;

public class test {
      public static void main(String[] args) throws Exception {
          /*測試合並兩個類型相同的list*/
          List<String> list1 = new ArrayList<String>();
          List<String> list2 = new ArrayList<String>();
          //給list1賦值
          list1.add("測");
          list1.add("試");
          list1.add("一");
          list1.add("下");
          //給list2賦值
          list2.add("合");
          list2.add("並");
          list2.add("列");
          list2.add("表");
          //將list1.list2合並
          list1.addAll(list2);
          //循環輸出list1 看看結果
          for (String s : list1) {
              System.out.print(s);
          }
      }
}

 

 

需求:兩個字符串合並(如果想去重復,參考下一篇--數組去重復及記錄重復個數)
//方法一 Arrays類
    String[] a = {"A","B","C"};
    String[] b = {"D","E"};
    // List<String> list = Arrays.asList(a);   --OK
    // List<String> list = Arrays.asList("A","B","C");  --OK
    // list.add("F");  --UnsupportedOperationException
    // list.remove("A"); --UnsupportedOperationException
    // list.set(1,"javaee");--OK (因為是把數組轉為集合,其本質還是數組,數組長度固定不變,但內容可以改變)
    // 結論:雖然可以把數組轉為集合,但是集合長度不能改變

    List list = new ArrayList(Arrays.asList(a));
    list.addAll(Arrays.asList(b));
    String[] str = new String[list.size()];
    list.toArray(str);    
    for(int x=0;x<str.length;x++){
        System.out.print(str[x] + " ");
    }
//方法二  循環遍歷
// 兩個數組合並
    String[] str1 = {"Hello","world","java"};
    String[] str2 = {"Veriable","syntax","interator"};
    String[] newStr = new String[str1.length+str2.length];
    //newStr = str1;數組是引用類型
    for(int x=0;x<str1.length;x++){
        newStr[x] = str1[x];
    }        
    for(int y=0;y<str2.length;y++){
        newStr[str1.length+y]=str2[y];
    }
    for(int y=0;y<newStr.length;y++){
        System.out.println(newStr[y] + " ");
    }
// 方法三
    String[] str1 = {"Hello","world","java"};
    String[] str2 = {"Veriable","syntax","interator"};
    int str1Length = str1.length;
    int str2length = str2.length;
        
    str1 = Arrays.copyOf(str1, str1Length+str2length);//數組擴容
    System.arraycopy(str2, 0, str1, str1Length, str2length);
    System.out.println(Arrays.toString(str1));

 

java求兩個集合的交集和並集

        java如何求兩個集合的交集和並集呢??其實java的API中已經封裝了方法。今天寫個簡單的例子測試一下:(例子中以java.util.LinkedList為例)

        求連個集合的交集:

import java.util.ArrayList;
import java.util.List;
public class TestCollection {
    public static void main(String[] args) {
        List<String> strList = new ArrayList<String>();
        List<String> strList2 = new ArrayList<String>();
        for(int i = 0; i < 10; i ++) {
            strList.add("aaa>>" + i);
            strList2.add("aaa>>" + (10 - i));
        }
         
        //求出交集
        strList2.retainAll(strList);
        System.out.println("交集大小:" + strList2.size());
         
        for(int i = 0; i < strList2.size(); i++) {
            System.out.println(strList2.get(i));
        }       
    }
}




求兩個集合的並集:
import java.util.ArrayList;
import java.util.List;
public class TestCollection {
    public static void main(String[] args) {
        List<String> strList = new ArrayList<String>();
        List<String> strList2 = new ArrayList<String>();
        for(int i = 0; i < 10; i ++) {
            strList.add("aaa>>" + i);
            strList2.add("aaa>>" + (10 - i));
        }
        //求出並集
        strList2.removeAll(strList);
        strList2.addAll(strList);
        System.out.println("並集大小:" + strList2.size());      
         
        for(int i = 0; i < strList2.size(); i++) {
            System.out.println(strList2.get(i));
        }       
    }
}
java 使用map返回多個對象組裝

 Object json=JSONObject.fromObject("{}");
List<Object> list = new ArrayList<Object>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
List<Object> result = new ArrayList<Object>();
Map<String, Object> map = new HashMap<String, Object>();
for(Object str :list){
    map.put("name", str);
    map.put("age", str);
    result.add(map);
}
JSONArray arr=JSONArray.fromObject(result);
if(arr!=null){
    json=arr;
}
System.out.println(arr);
  輸出值格式為:[{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"}]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM