Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

8.3. ArrayList

8.3.1. 初始化

最常用的初始化方式,先创建一个list1,再给list1赋值。

			
List<String> list1 = new ArrayList<String>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
			
			

使用一个List来初始化

			
List<String> list2 = new ArrayList<String>(Arrays.asList("apple", "banana", "orange"));			
			
			

			
List<String> list3 = new ArrayList<String>(Collections.nCopies(2, "orange"));
			
			

使用匿名内部类来初始化

			
List<String> list4 = new ArrayList<String>() {
     {
         add("apple");
         add("banana");
         add("orange");
     }
}; 	
			
			

初始化容量 initialCapacity

			
        List<String> test = new ArrayList<>(5);
        IntStream.range(1, 10).forEach(value -> {
            test.add(String.valueOf(value));
        });
        System.out.println(test);			
			
			

8.3.2. 判断元素是否存在

判断元素是否存在

		
import java.util.ArrayList;

public class arraylist {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList<String> whitelist = new ArrayList<String>();
		whitelist.add("Neo");
		whitelist.add("Jam");
		whitelist.add("Sam");

		if (whitelist.contains("Neo")) {
			System.out.println("Found!");
		}else{
			System.out.println("Not Found!");
		}
	}

}
		
			

8.3.3. 循环打印

			
package cn.netkiller.type;

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

public class ArrayListExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<String> list = new ArrayList<String>();
		list.add("Jack");
		list.add("Jet");
		list.add("Jack");
		list.add("Mike");
		list.add("Kitty");
		list.add("Tom");
		
		//while 循环
		Iterator<String> it = list.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}

		for (Iterator<String> it1 = list.iterator(); it1.hasNext();) {
			System.out.println(it1.next());
		}

		// for 循环
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}

		// for 循环加强版
		for (String i : list) {
			System.out.println(i);
		}

	}

}
			
			

8.3.4. ArrayList to Array

ArrayList 转为 Array

			
		String[] array = {"/bin/sh","-c"};
		List<String> list = new ArrayList<String>(Arrays.asList(array));
	    list.add("command");
	    list.add("param");
	   
	    String[] command = (String[]) list.toArray(new String[0]);
	    System.out.println(Arrays.toString(command));
			
			

8.3.5. ArrayList to String

				
		List<String> list = new ArrayList<String>();
	    list.add("command");
	    list.add("param");
	   
	    String listString = String.join(", ", list);
	    
	    System.out.println(listString);
	    		
			

8.3.6. Array to List

			
Arrays.asList(array)			
			
			

8.3.7. List to Array

				
		List<String> list = new ArrayList<String>();
		list.add("str1");
		list.add("str2");

		String[] array = (String[]) list.toArray();
		System.out.println(array);				
				
			

8.3.8. ArrayList forEach

		 
// create an ArrayList which going to
// contains a list of Numbers
ArrayList<Integer> Numbers = new ArrayList<Integer>();

// Add Number to list
Numbers.add(23);
Numbers.add(32);
Numbers.add(45);
Numbers.add(63);

// forEach method of ArrayList and
// print numbers
Numbers.forEach((n) -> System.out.println(n));		
		
			
		 
import java.util.*;
public class ArrayListTest {
	
	public static void main(String[] args)
	{
		// create an ArrayList which going to
		// contains a list of Student names which is actually
		// string values
		ArrayList<String> students = new ArrayList<String>();
	
		// Add Strings to list
		// each string represents student name
		students.add("Ram");
		students.add("Mohan");
		students.add("Sohan");
		students.add("Rabi");
	
		// print result
		System.out.println("list of Students:");
	
		// forEach method of ArrayList and
		// print student names
		students.forEach((n) -> print(n));
	}
	
	// printing student name
	public static void print(String n)
	{
		System.out.println("Student Name is " + n);
	}
}		
		
			
		
List<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");

for (String item:arrayList){
    System.out.println(item);
}

arrayList.forEach(item->System.out.println(item));

arrayList.forEach(System.out::println);

arrayList.forEach(item->{
    if("C".equals(item)){
        System.out.println(item);
    }
});		
		
			
		 
package cn.netkiller;

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

public class Test {

	public Test(int id) {
		this.id = id;
	}

	public int id;
	public String name;

	public void setId(int id) {
		this.id = id;
	}

	public int getId() {
		return this.id;
	}

	public static void main(String[] args) throws InterruptedException {
		List<Test> arrayList = new ArrayList<Test>();
		arrayList.add(new Test(1));
		arrayList.add(new Test(2));
		arrayList.add(new Test(3));
		arrayList.add(new Test(4));
		arrayList.add(new Test(5));

		arrayList.forEach(item -> {
			System.out.println(item.getId());
			item.setId(item.getId() + 1);
		});

		arrayList.forEach(item -> {
			System.out.println(item.getId());
		});
	}

}				
		
			

8.3.9. ArrayList stream()

		
arrayList.stream()
        .filter(s-> s.contains("B")||s.contains("C"))
        .forEach(System.out::println);

arrayList.stream()
        .filter(s->s.contains("E"))
        .findFirst().ifPresent(s -> System.out.println(s));		
		
			

8.3.10. ArrarList 转换为 string[]

		
  ArrayList list = new ArrayList();

  list.Add("aaa");

  list.Add("bbb");

  string[] arrString = (string[])list.ToArray(typeof( string)) ;		
		
			

8.3.11. string 转换为 ArrayList

		
  String str="1,2,3,4,5";
  ArrayList b = new ArrayList( str.split(',') ) ;		
		
			

8.3.12. ArrayList 转换为 string

		
  ArrayList list = new ArrayList();

  list.Add("aaa");

  list.Add("bbb");

  string str= string.Join(",", (string[])list.ToArray(typeof( string)));		
		
			

8.3.13. string[] 转换为 ArrarList

		
  ArrayList list = new ArrayList(new string[] { "aaa", "bbb" });		
		
			

8.3.14. 合并 List<byte[]> ArrayList<byte[]>

			
        List<byte[]> audios = new ArrayList<byte[]>();

        public static byte[] concatenateByteArrays(List<byte[]> byteArrays) {
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

            for (byte[] byteArray : byteArrays) {
                try {
                    outputStream.write(byteArray);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

            return outputStream.toByteArray();
        }