我们在学校的时候写程序大多都是用的数组来存储一些基本数据类型,但是自己在学习和实践过程中发现数组简直low爆了,虽然也会有场景会用到数组,但真的是少之又少。
所以通过几天的学习研究,上网查资料得知集合中比较简单的易上手的差不多三个,一种类型一个吧,分别是ArrayList;HashSet;HashMap;
这篇文章我们先从ArrayList说起!
方法概览:
- add([int index],E element)和addAll([int index],Collection c)增加元素
- contains(Object o)和containsAll(Collection c)判断元素是否存在
- get(int index)根据索引获取元素
- indexOf(Object o)和lastIndexOf(Object o)获取指定元素索引
- isEmpty()判断是否为空
- remove(int index)和remove(Object o)和removeAll(Collection c)删除元素
- set(int index,Object o)覆盖元素
- size()返回集合
- toArray()将内容放到数组中
- iterator()和listIterator([int index]) 迭代器
- clear()清空集合
全局列表:
ArrayList<Integer> al1 = new ArrayList<Integer>();
ArrayList<Integer> al2 = new ArrayList<Integer>();
ArrayList<Integer> al3 = new ArrayList<Integer>();
方法使用及描述:
- add([int index],E element):index表示从指定索引处插入,该参数可省略,默认是集合尾部,element表示插入的元素
- addAll([int index],Collection c):index表示从指定索引处插入,该参数可省略,默认是集合尾部,c表示插入的集合类型的对象
???????????????
for(int i = 0;i<10;i++){
al1.add(i);
al1.add(i);
}
al2.addAll(al1);
- contains(Object o)表示该集合中是否包含某个元素;
- containsAll(Collection c)表示该集合中是否包含某个集合
???????????????
System.out.println("\n"+al2.contains(20)+" "+al2.containsAll(al1));
//如果存在则输出true;不存在则输出false
- get(int index)表示返回列表中指定位置上的元素
System.out.println(al2.get(0)+" "+al2.get(2));
- indexOf(Object o)返回列表中首次出现的指定元素的索引,如果列表中无指定元素,则返回-1
- lastIndexOf(Object o)返回列表中最后一次出现的指定元素的索引,如果列表中无指定元素,则返回-1
System.out.println(al2.indexOf(7)+" "+al2.lastIndexOf(8));
- isEmpty()判断列表是否为空
System.out.println(al2.isEmpty());
//空则返回true;非空则返回false
- remove(int index)删除指定位置上的元素;
- remove(Object o)删除第一次出现的指定元素
- removeAll(Collection c)删除与指定集合内容相匹配的元素(如果有多个则都删除)
al2.remove(0);
al2.remove(“zhang”);//为了区分根据索引删除元素,特在此处将内容改为字符串类型方便理解
al2.removeAll(al3);
- set(int index,Object o)用指定元素替代列表中指定位置上的元素
al2.set(6, 100);
- size()返回列表的大小
System.out.println(al2.size());
- toArray()按照从前到后的顺序返回包含此列表中所有元素的数组;
Object[] o = al2.toArray();
for (Integer integer : al2) {
System.out.print(integer+" ");
}
- iterator()返回一个可以遍历该集合元素的迭代器
Iterator<Integer> it = al1.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
- listIterator([int index])//index可省略,默认是0;如果index=集合长度,只能从后往前遍历;如果index不是开头也不是结尾,此时既可以从前往后遍历,也能从后往前遍历
ListIterator<Integer> it1 = al1.listIterator(4);
System.out.print("\n从第5个数向前遍历:");
while(it1.hasPrevious()){
System.out.print(it1.previous()+" ");
}
System.out.println("\n从第5个数向后遍历:");
while(it1.hasNext()){
System.out.print(it1.next()+" ");
}
- clear()清空列表中的元素
al2.clear();
本博客纯属平时学习笔记没有很多技术含量,小白可以来学习一下。也欢迎各位大佬打扰指教!