关于集合,相比于数组,集合的操作非常方便,在增删改除之外,还可以不用定义长度,长度会自动增加。
集合的另一大好处是可以封装对象,数组的封装,只能是几类基本类型,但是数组可以封装对象。
集合中的分类,超类都是collection,后来分为List和 Set集合。常用的List集合有 ArrrayList, LinkedList, Set中常用的即为HastSet 和TreeSet.
各个集合的区别在于存储方式的不同,其中也有一个矛盾,如果要数据接口对于查找速度进行优化,就会损失增删速度,如果输入结构对于增删速度优化,就会降低查找速度,根据业务类型的不同,选择不同的适用的数组。
比如ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。
需要活用迭代器,集合中的遍历中用的就是迭代器,对集合中的每一个元素进行抓取。迭代器的方式是取出方式,会直接访问集合中的元素。所以将迭代器通过内部类的形式来进行描述。通过容器的iterator()方法获取该内部类的对象。
一种典型的迭代器取出方式:
class CollectionDemo
{
public static void main(String[] args)
{
method_get();
}
public static void method_get()
{
ArrayList al = new ArrayList();
//1,添加元素。
al.add(“王丽丽");//add(Object obj);
al.add("张风");
al.add("小胖");
al.add("阿成");
for(Iterator it = al.iterator(); it.hasNext() ; )
{
sop(it.next());
}
}
}
|
|