七、集合框架
一、为什么使用集合框架
集合的好处:
集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合适用于不同的场合。
二、Java集合主要分为以下3种类型
Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
1.List: 三有产品:有顺序,有下标,有重复
2.Set: 三无产品:无顺序,无下标,无重复
3.Map: 键值对:key-value 通过键可以找到值
提示:
List和Set实现于 Collection 接口
List还有两个实现类 ArrayList LinkedList
Set也有两个实现类 HashSet TreeSet
Map也有两个实现类 HashMap TreeMap
三、ArrayList和LinkedList
1.ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
2.LinkedList采用链表存储方式。插入、删除元素时效率比较高
一、ArrayList介绍
3.使用ArrayList存储元素
4.List接口还提供的remove():移除、contains():是否包含的方法
5.List接口方法有很多,这里就不都演示了,它的常用方法
代码演示:
package cn.jbit.exec;
import java.util.ArrayList;
import java.util.List;
/**
* 使用ArryList存储和处理企鹅信息。
*/
public class Test1 {
public static void main(String[] args) {
// 1、创建多个企鹅对象
Penguin ououPenguin = new Penguin("欧欧", "Q仔");
Penguin yayaPenguin = new Penguin("亚亚", "Q妹");
Penguin meimeiPenguin = new Penguin("美美", "Q妹");
Penguin feifeiPenguin = new Penguin("菲菲", "Q妹");
// 2、创建ArrayList集合对象并把多个企鹅对象放入其中
List penList = new ArrayList();
penList.add(ououPenguin);
penList.add(yayaPenguin);
penList.add(meimeiPenguin);
penList.add(2, feifeiPenguin); // 添加feifeiPenguin到指定位置
// 3、输出集合中企鹅的数量
System.out.println("共计有" + penList.size() + "只企鹅。");
// 4、通过遍历集合显示各只企鹅信息
System.out.println("分别是:");
for (int i = 0; i penList.size(); i++) {
Penguin dog = (Penguin) penList.get(i);
System.out.println(dog.getName() + "\t"
+ dog.getSex());
}
// 5、删除集合中第一个企鹅和feifeiPenguin企鹅
penList.remove(penList.size()-1);
penList.remove(feifeiPenguin);
// 6、显示删除后集合中各只企鹅信息
System.out.println("\n删除之后还有" + penList.size() + "只企鹅。");
System.out.println("分别是:");
for (int i = 0; i penList.size(); i++) {
Penguin dog = (Penguin) penList.get(i);
System.out.println(dog.getName() + "\t" + dog.getSex());
}
//7、判断集合中是否包含指定企鹅信息
if(penList.contains(meimeiPenguin))
System.out.println("\n集合中包含美美的信息");
else
System.out.println("\n集合中不包含美美的信息");
}
}
二、LinkedList介绍
1.LinkedList集合类
插入、删除操作频繁时,可使用LinkedList来提高效率
LinkedList专门提供对头部和尾部元素进行添加和删除操作的方法
2.使用LinkedList存储元素
3.LinkedList的特殊方法