专栏【Java】
每日一句:唯有沉淀下来,才能走得更远
⭐欢迎并且感谢大家指出我的问题
目录
1:集合(Collection)
(1)集合的由来
(2)集合和数组的区别
(3)集合的继承体系结构
(4)集合的特点:
2:List接口
(1)List是Collection的子接口
(2)List的功能:
(3)List的实现类特点
ArrayList:
Vector:
LinkedList:
(4)List集合的遍历功能
我们学习的是Java -> 面向对象 -> 操作很多对象 -->存储 -->容器(数组和StringBuffer) -->数组
而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用。
内容区别:
基本类型:1、byte(位)2、short(短整数)3、int(整数)4、long(长整数)5、float(单精度浮动数)6、double(双精度)7、boolean(布尔类型)8、char(字符)
引用类型:除了8种基本类型,其他的都是引用类型,例如包装类,数组,接口等
元素区别:
集合可以存储不同类型
代码如下
public static void main(String[] args) {
// TODO Auto-generated method stub
List list =new ArrayList();
list.add("hello");
list.add("java");
list.add("world");
list.add(new Integer(100));//在未使用泛型的时候,集合中可添加任意类型的对象
list.add("world");//可添加重复元素
list.add("李白");
list.add(null);//List集合也可以添加空元素对象
for(int i=0;i
运行结果
其实集合一般存储的也是同一种类型
一旦集合使用了泛型,集合中只能添加同样类型的元素
由于需求不同,Java就提供了不同的集合类。这多个集合类的数据结构不同,但是它们都是要提供存储和遍历功能的,我们把它们的共性不断的向上提取,最终就形成了集合的继承体系结构图。
Collection:集合中最基本的接口,一般不适用该接口,无序,不唯一,有两个子接口List和Set
特点:有序(存储顺序和取出顺序一致),不唯一(可添加重复元素)。
添加功能
void add(int index,Object element):在指定位置添加元素
删除功能
boolean remove(Object o):移除一个元素
Object remove(int index):根据索引删除元素,返回被删除的元素
获取功能
Object get(int index):获取指定位置的元素
注意在未使用泛型的情况下,任何类型的元素加入到集合中都转换成了Object类型
判断功能
boolean contains(Object o):判断集合中是否包含指定的元素
boolean isEmpty():判断集合是否为空
修改功能
Object set(int index,Object element):根据索引修改元素,返回被修饰的元素
长度功能
int size():元素的个数
迭代器功能
Iterator iterator()
ListIterator listIterator():List集合特有的迭代器
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
底层数据结构是链表,查询慢,增删快
线程不安全,效率高。
普通For循环配合List接口中的size()和get(index i)的方法
代码如下
public static void main(String[] args) {
// TODO Auto-generated method stub
List list = new ArrayList();
list.add("hello");
list.add("world");
list.add("java");
list.add("world");
for (int i = 0; i < list.size(); i++) {
String s = (String) list.get(i);
System.out.println(s);
}
}
运行结果
欢迎大家留言讨论并且感谢大家指出我的不足