提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
Collection
* boolean add(E e)
* void clear()
* boolean contains(Object o) //是否有相同
* boolean isEmpty()
* boolean remove(Object o)
* int size()
* Object[] toArray()
List:
* 有序的(存储和读取的顺序是一致的)
* 有整数索引
* 允许重复的
- List的常用子类:
- ArrayList--------底层是数组结构,查询快,增删慢
- LinkedList--------底层结构是链表,查询慢,增删快
如何选择使用不同的集合?
* 如果查询多,增删少,则使用ArrayList
* 如果查询少,增删多,则使用LinkedList
* 如果你不知道使用什么,则使用ArrayList
ArrayList:动态数组。相当于数组,长度可变
LinkedList:
一、List的增删改查功能
* void add(int index, E element)
* E get(int index)
* E remove(int index)
* E set(int index, E element)
//创建的列表对象
List<String> list = new ArrayList<String>();
//void add(int index, E element) : 在列表的指定位置插入指定元素
list.add(0, "hello");
list.add(0, "world");
list.add(1, "java");
System.out.println(list); //world,java,hello
//E get(int index) :根据索引返回元素world
/*System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.get(2));*/
//System.out.println(list.get(3)); //下标越界
/*for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}*/
//E remove(int index) : 删除指定元素并返回
//System.out.println(list.remove(1));
//System.out.println(list); //java
//E set(int index, E element) : 将指定索引位置的元素替换为指定元素,并将原先的元素返回
System.out.println(list.set(0, "android")); //world
System.out.println(list); //android,java,hello
二、ArrayList的常用方法
ArrayList c = new ArrayList();
参考这个:
// 三种遍历方式打印元素
// 第一种:通过迭代器遍历
System.out.print("通过迭代器遍历:");
Iterator<Integer> it = arrayList.iterator();
while(it.hasNext()){
System.out.print(it.next() + " ");
}
System.out.println();
// 第二种:通过索引值遍历
System.out.print("通过索引值遍历:");
for(int i = 0; i < arrayList.size(); i++){
System.out.print(arrayList.get(i) + " ");
}
System.out.println();
// 第三种:for循环遍历
System.out.print("for循环遍历:");
for(Integer number : arrayList){
System.out.print(number + " ");
}
// toArray用法
// 第一种方式(最常用)
Integer[] integer = arrayList.toArray(new Integer[0]);
// 第二种方式(容易理解)
Integer[] integer1 = new Integer[arrayList.size()];
arrayList.toArray(integer1);
// 抛出异常,java不支持向下转型(支持,当要本质上同类)
//Integer[] integer2 = new Integer[arrayList.size()];
//integer2 = arrayList.toArray();
System.out.println();
// 在指定位置添加元素
arrayList.add(2,2);
// 删除指定位置上的元素
arrayList.remove(2);
// 删除指定元素
arrayList.remove((Object)3);
// 判断arrayList是否包含5
System.out.println("ArrayList contains 5 is: " + arrayList.contains(5));
// 清空ArrayList
arrayList.clear();
// 判断ArrayList是否为空
System.out.println("ArrayList is empty: " + arrayList.isEmpty());
————————————————
版权声明:本文为CSDN博主「GongchuangSu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GongchuangSu/article/details/51514389
三、LinkedList常用方法
void addFirst(E e)
void addLast(E e)
E getFirst()
E getLast()
E removeFirst()
E removeLast()
LinkedList<String> list = new LinkedList<String>();
list.add("hello");
list.add("world");
//void addFirst(E e) :将元素添加到索引为0的位置
//void addLast(E e) :将元素添加到索引为size()-1的位置
//list.addFirst("java");
//list.addLast("android");
//E getFirst() :获取索引为0的元素
//E getLast() :获取索引为size()-1的元素
//System.out.println(list.getFirst());
//System.out.println(list.getLast());
System.out.println(list);
//E removeFirst() :删除索引为0的元素并返回
//E removeLast() :删除索引为size()-1的元素并返回
//System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list);