StringList 详解

package collectionApi;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.function.Consumer;

public class ArraryListApi {

        // 初始容量16 new之后就分配16个内存空间  扩容公式 (当前容量<<1 + 2)和(当前容量+添加所需容量) 取较大值
        StringBuilder sb = new StringBuilder();
        // 初始容量为10 添加第一个元素时 才分配10个内存空间 扩容公式 (当前容量 + 当前容量 >> 1)和(当前容量+添加所需容量) 取较大值
        ArrayList<String> arrayList = new ArrayList<>();
        // 初始容量16 添加第一个元素时分配 当 容量到达 (当前容量*0.75) 时 扩容 (当前容量 << 1)和 ()
        HashMap<String, String> hashMap = new HashMap<>();

	public static void main(String[] args) {
		ArrayList<String> arrayList = new ArrayList<>(); // 够建空列表 初始容量为10
		
		for(int i = 0; i < 5; i++) {
			arrayList.add("Sdf");	
		}
//		System.out.println(arrayList);
		arrayList = new ArrayList<>(5); // 初始容量为5
		for(int i = 0; i < 5; i++) {
			arrayList.add("Sdf");	
		}
		
		
		arrayList.trimToSize(); // 最小化列表容量
//		System.out.println(arrayList);
		
		arrayList.ensureCapacity(15); //扩展列表容量
		
		int nSize = arrayList.size(); // 列表大小
		boolean isEmpty = arrayList.isEmpty(); // 列表为空 size = 0
		
		boolean bContains = arrayList.contains("242");  // 列表中包含元素
		
		int nIndex = arrayList.indexOf("afs"); // 列表中第一次出现的位置
		
		ArrayList<Integer> arrayList2 = new ArrayList<>();
		arrayList2.add(Integer.valueOf(1));
		arrayList2.add(Integer.valueOf(2));
		arrayList2.add(Integer.valueOf(3));
		arrayList2.add(Integer.valueOf(300));
		arrayList2.add(Integer.valueOf(400));
//		System.out.println(arrayList2.indexOf(1)); // 0
//		System.out.println(arrayList2.indexOf(300)); //3
		
		arrayList2.lastIndexOf("23"); // 最后一次出现的位置
		
		@SuppressWarnings("unchecked")
		ArrayList<Integer> arrayList3 = (ArrayList<Integer>)arrayList2.clone(); //克隆
//		System.out.println(arrayList3);
		
		Object[] objects = arrayList3.toArray(); // List 转成 Object[]
//		System.out.println(Arrays.toString(objects));
		
		String[] aStrings = {};
		
		aStrings = arrayList.toArray(aStrings);
//		System.out.println(Arrays.toString(aStrings)); // List 转成 T[]
		
		Integer nInteger = arrayList3.get(0); // 获取列表中指定下表元素
		arrayList3.set(0, Integer.valueOf(99)); // 重新设置 指定下表的元素
//		System.out.println(arrayList3);
		arrayList3.add(Integer.valueOf(88)); // 添加元素
		arrayList3.add(1, Integer.valueOf(33)); // 插入元素
//		System.out.println(arrayList3); // [99, 33, 2, 3, 300, 400, 88]
		arrayList3.remove(2); // 移除指定下表的元素
		arrayList3.remove((Object)33); // 移除元素 只会移除第一个
//		System.out.println(arrayList3); //[99, 3, 300, 400, 88]
		arrayList.remove("Sdf");
		//System.out.println(arrayList);
		
		arrayList2.clear(); // 清楚元素
		
		arrayList2.addAll(arrayList3); // 两个列表合并
		arrayList2.addAll(2, arrayList3); // 两个列表合并
		
	    arrayList2.removeAll(arrayList3); // 删除包含的集合
	    arrayList2.retainAll(arrayList3); //
		arrayList2.add(Integer.valueOf(1));
		arrayList2.add(Integer.valueOf(2));
		arrayList2.add(Integer.valueOf(3));
	    Iterator<Integer> iterator = arrayList2.iterator(); // 迭代器 1,2,3
	    while (iterator.hasNext()) {
			Integer nInteger2 = iterator.next();
//			System.out.println(nInteger2); // 1,2,3
		}
	    
	    ListIterator<Integer> iterator2 = arrayList2.listIterator();//1,2,3
	    while (iterator2.hasNext()) {
			Integer integer = iterator2.next();
//			System.out.println(integer); // 1,2,3
			
		}
	    
	    iterator2 = arrayList2.listIterator(1); // arrayList2 1,2,3
	    while (iterator2.hasNext()) {
			Integer integer = iterator2.next();
			System.out.println(integer); // 2, 3
			
		}
	    
	    System.out.println(arrayList2.subList(1, 2)); // 截取List 集合 不包含 [2]
	    
	    
	    arrayList2.forEach(new Consumer<Integer>() { // 遍历List
			@Override
			public void accept(Integer t) {
				System.out.println(t);
			}
	    });
	    
	    arrayList2.forEach(aray -> { // 遍历List
	    	System.out.print(aray); 
	    	System.out.print(aray); 
	    	}); 
	    
	    arrayList2.sort(new Comparator<Integer>() {

			@Override
			public int compare(Integer o1, Integer o2) { // 反序
				return o2 - o1;
			}
		});
	    
	    System.out.println(arrayList2); // 321 [3, 2, 1]
	    
	    arrayList2.sort((a, b) -> a - b); // 正序
	    System.out.println(arrayList2);  // [1, 2, 3]
	}

}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值