----------------------------------android培训、java培训、期待与您交流!------------------------------
集合和数组的区别:
从存储的数据类型来看:
可以定义基本数据类型的数组。也可以定义引用类型的数组。
集合只能存储引用类型,不能存储基本数据类型;
从长度来看:数组一旦定义后,长度不可改变。
集合的长度可以变化。
Collection集合:
|--List
--ArrayList
--Vector
--LinkedList
|--Set
--HashSet
--TreeSet
Collection 集合的方法:
boolean add(E e):添加元素
boolean addAll(Collection c):将集合中的所有元素添加到另外一个集合中
void clear():移除集合中的所有元素
boolean contains(Object obj):判断此集合中是否包含指定的元素,包含就返回true
boolean containsAll(Collection c):判断此集合中是否包含另一个集合中的所有元素
boolean equals(Object obj):判断此集合是否与指定对象相等。
boolean isEmpty():判断集合是否为空
Iterator iterator():迭代器
boolean remove(Object obj):移除指定元素
boolean removeAll(Collection c):移除集合中所有的元素
boolean retainAll(Collection c):保留两个集合的相同的元素
Object[] toArray():将集合转成数组;
Iterator接口:
boolean hasNext():判断是否有元素
Object next():返回迭代的下一个元素
void remove():删除当前元素,next出来的元素就是你要删除的元素
每次调用next都要调用hasNext检测一下,以保证还有元素可以取。如果连续调用next()会发生异常
List 是Collection的子接口 List中包含了Collection的所有方法:
特点:有序,可重复元素,有索引。
什么是List:
有序的Collection也叫序列(列表);List是Collection的子接口,List接口保证元素存入的顺序,也可以包含重复的元素。
List也有小标,和数组相似,但是List可以添加,删除,移除元素。而且List的长度是可以改变的!
List特有功能:
void add(int index, Object o):在列表的指定位置插入元素
boolean add(int index, Collection c):将此集合中所有元素插入到指定位置
Object get(int index):返回列表指定位置的元素
int indexOf(Object o):获取指定元素第一次出现的索引位
int lastIndexOf(Object o):返回此列表最后出现的指定元素的索引
ListIterator listIterator():返回列表迭代器,这是List独有的!
ListIterator listIterator(int index):返回列表迭代器,只是一段元素的迭代器;
Object remove(int index):移除指定下标的元素
Object set(int index, Object o):用指定元素替换列表中指定位置的元素
List sublist(int fromIndex, int toIndex):从指定位置截取到指定位置,返回一个新的集合。
ListIterator listIterator():返回列表迭代器,这是List独有的!
ListIterator listIterator(int index):返回列表迭代器,只是一段元素的迭代器;
ListIterator 接口 :
boolean hasPrevious():判断是否有前一个元素
int previousIndex():获取前一个元素的下标
常用类:
Vector:线程安全,但速度慢,已被ArrayList替代。
ArrayList:线程不安全,查询速度快。
LinkedList:链表结构,增删速度快。
取出LIst集合中元素的方式:
1.get(int index):通过脚标获取元素。
2.iterator():通过迭代方法获取迭代器对象。
迭代的用法:
1:
for(Iterator iter = iterator();iter.hasNext(); )
{
System.out.println(iter.next());
}
2:
Iterator iter = l.iterator();
while(iter.hasNext())
{
System.out.println(iter.next());
}
高级for循环
格式:
for(数据类型变量名: 数组或集合)
{
执行语句;
}
作用:简化了对数组,集合的遍历。
----------------------------------android培训、java培训、期待与您交流!------------------------------