package jihe;
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
/*
* list集合:包括list接口以及接口的实现类。
* 允许重复元素,各元素的顺序就是对象的插入顺序。
* 类似java数组,用户可以通过使用索引(元素在集合中的位置)来访问集合中的元素
* list接口:
* list接口继承了collection接口,因此包含collection中的所有方法
* get(int index):获得指定索引位置的元素
* set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象
* list接口的实现类
* ArrayList:实现了可变的数组,允许保存所有元素,包括null,
* 并可以根据索引位置对集合进行快速的随机访问
* 缺点:向指定的索引位置插入对象或删除对象速度较慢
* LinkedList:采用链表结构保存对象.
* 优点:便于向集合中插入和删除对象,
* 需要向集合中插入和删除对象对象时,利用linkedList类实现的list集合的效率较高
* 缺点:对于随机访问集合中的对象,使用LinkedList类实现List集合效率较低
* 注:与数组相同,集合的索引也是从0开始
*/
public static void main(String[] args) {
List<String> list=new ArrayList<>();//创建集合对象
list.add("a");//向集合中添加元素
list.add("b");
list.add("c");
int i=(int)(Math.random()*list.size()-1);//获得0-2之间的随机数
System.out.println("随机获取数组中的元素"+list.get(i));
list.remove(2);
System.out.println("将索引是'2'的元素从数组中一处后,数组的元素是:");
for(int j=0;j<list.size();j++) {
System.out.println(list.get(i));
}
}
}
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
/*
* list集合:包括list接口以及接口的实现类。
* 允许重复元素,各元素的顺序就是对象的插入顺序。
* 类似java数组,用户可以通过使用索引(元素在集合中的位置)来访问集合中的元素
* list接口:
* list接口继承了collection接口,因此包含collection中的所有方法
* get(int index):获得指定索引位置的元素
* set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象
* list接口的实现类
* ArrayList:实现了可变的数组,允许保存所有元素,包括null,
* 并可以根据索引位置对集合进行快速的随机访问
* 缺点:向指定的索引位置插入对象或删除对象速度较慢
* LinkedList:采用链表结构保存对象.
* 优点:便于向集合中插入和删除对象,
* 需要向集合中插入和删除对象对象时,利用linkedList类实现的list集合的效率较高
* 缺点:对于随机访问集合中的对象,使用LinkedList类实现List集合效率较低
* 注:与数组相同,集合的索引也是从0开始
*/
public static void main(String[] args) {
List<String> list=new ArrayList<>();//创建集合对象
list.add("a");//向集合中添加元素
list.add("b");
list.add("c");
int i=(int)(Math.random()*list.size()-1);//获得0-2之间的随机数
System.out.println("随机获取数组中的元素"+list.get(i));
list.remove(2);
System.out.println("将索引是'2'的元素从数组中一处后,数组的元素是:");
for(int j=0;j<list.size();j++) {
System.out.println(list.get(i));
}
}
}