首页 > 代码库 > 集合框架

集合框架

    掌握集合框架包含的内容

java中的集合,位于包java.util

Java集合框架分为2大接口:

Collection

u ListArrayListLinkedList

u SetHashSetTreeSet

Map

u HashMap

u TreeMap

集合框架的优点?

解决数组的一些不足之处(存储数据类型单一、空间不可变,操作数据比较麻烦、性能低等),

提供了一种标准的体系结构,方便快速高效操作集合数据

    掌握ArrayListLinkedList的使用

常用方法【P170页的表7-1

u 添加: add() 该方法重载2次

ü boolean add(Object e);//保存任意数据类型的元素

ü void add(int index,Object e) ;//在指定的下标处,添加任意数据类型的元素

u 删除:remove() 该方法重载2次

ü boolean remove(Object e);根据元素的值,删除

ü Object remove(int  index);根据下标位置,删除

u 获取元素:get(int  index)

u 元素个数:size()

u 判断某个元素是否存在:boolean contains(Object  e)

以上方法,是实现了接口List的类(ArrayListLinkedList)共有的方法

LinkedList特有的方法:P173页表7-2

                     添加:addFirst()、addLast();

                     删除:removeFirst()、 removeLast();

                     获取:getFirst()、getLast()

ArrayListLinkedList的异同点?

相同点:

u 都实现了接口List,用来存储可重复,有序的对象

u 操作数据(添加、删除、获取数据、判断等)的方法都相同

不同点:

u 存储方式不同:ArrayList和数组相同,在内存中分配连续的空间;而LinkedList采用链表方式存储数据

u 效率侧重点不同:ArrayList在遍历和随机访问元素的效率较高;LinkedList在插入和删除数据效率较高

 

 

    掌握HashMap的使用

l  位于包java.util,实现接口Map

l  使用前,都要创建对象

l  常用的方法:【P175页表7-3】

n  添加:put(Object  key,Object  value)

n  删除:remove(Object  key)

n  获取值:get(Object  key)

n  判断集合中是否存在某个键:containsKey(Object  key)

n  集合中元素的个数:size()

n  键的集合: keySet()

n  值的集合:values();

n  循环输出集合中的元素?——不能使用for循环

u while+Iterator迭代器一起使用

u foreach

    掌握Iterator的使用

循环输出HashMap集合中的key(多个)和value

方式1while+Iterator(参考代码示例5)

Set 变量名 = HashMap类的对象. keySet();//key的集合

Iterator 迭代器对象 = 变量名. iterator();

while(迭代器对象.hasNext()){//判断集合中是否有元素

              //得到一个key

              Object key = HashMap类的对象.next();

              //得到该key对应的value

              Object value = http://www.mamicode.com/HashMap类的对象.get(key);

              ……………..编写其他代码

}

   方式2:使用foreach循环(for循环的增强版)

  语法:

for(数据类型变量名:数组名或集合名){

}

ü  单独输出键的集合[keySet()方法]

for(Object  key : HashMap对象.keySet()){

       System.out.println(key);//每个键key的值

}

ü  单独输出值的集合(values()方法)

for(Object  v : HashMap对象.values()){

       System.out.println(v);//每个键value的值

}

ü  通过key,输出对应的value

for(Object key:HashMap对象.keySet()){

       Object value=http://www.mamicode.com/HashMap对象.get(key);

       ……….编写其他代码

}

集合框架