集合之API使用大全(示例)NO.1
话不多说直接上代码:
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("0");
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
//System.out.println(list);[1, 2, 3, 4, 5]
//包含左边,不包含右边
List<String> strings = list.subList(1, 3);
System.out.println(strings);//[1, 2]
//------------------------------------------------->
//清空集合
//list.clear();
//System.out.println(list);[]
//------------------------------------------------->
//克隆一个对象,强转成list类型,地址变换
List<String> clone = (List<String>) ((ArrayList<String>) list).clone();
System.out.println(clone == list);
//------------------------------------------------->
//可做代码优化,数据量大时使用有明显效果,预先扩容到已知大小详解见:https://blog.csdn.net/AnnotationZZ/article/details/91295649
//((ArrayList<String>) list).ensureCapacity(1);
//------------------------------------------------->
/*ArrayList所说没有用的值并不是null,而是ArrayList每次增长会预申请多一点空间,1.5倍+1,而不是两倍
这样就会出现当size() = 1000的时候,ArrayList已经申请了1200空间的情况
trimToSize 的作用只是去掉预留元素位置,就是删除多余的200,改为只申请1000,内存紧张的时候会用到.*/
((ArrayList<String>) list).trimToSize();
System.out.println(list);
//------------------------------------------------->
/*(1) 使用方法iterator() 要求容器返回一个Iterator。第一次调用Iterator的next() 方法时,它返回序列的第一个元素。注意:iterator()
方法是java.lang.Iterable接口, 被Collection继承。
(2) 使用next() 获得序列中的下一个元素。
(3) 使用hasNext() 检查序列中是否还有元素。
(4) 使用remove() 将迭代器新返回的元素删除。*/
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println("$" + iterator.next());
}
//------------------------------------------------->
//index位置开始
ListIterator<String> stringListIterator = list.listIterator(1);
//在当前位置之前进行添加,改变list的集合内容,但是迭代器的内容不会改变
stringListIterator.add("9");
while (stringListIterator.hasNext()) {
System.out.println(" ++" + stringListIterator.next());
stringListIterator.add("9");
}
System.out.println(list);//[0, 9, 1, 9, 2, 9, 3, 9, 4, 9, 5, 9]
//------------------------------------------------->
List<String> list1 = new ArrayList<String>();
list1.add("0");
//2个集合取交集
boolean b = list.retainAll(list1);
System.out.println(list);
//------------------------------------------------->
//判断是否包含某一个元素,返回boolean类型
boolean contains = list.contains("00");
//------------------------------------------------->
//取出元素在集合中最后一个位置的index
int i = list.lastIndexOf("0");
//------------------------------------------------->
list.add("2");
list.add("3");
//在索引位置添加集合
list.addAll(1,list1);
System.out.println(list);
//------------------------------------------------->
}