如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在图中可以清楚地看出Java集合框架中的两大类接口:Collection和Map。其中.Collection又有两个子接口:List和Set。所以通常说Java集合框架共有三大类接口:List,Set和Map。它们共同点都是集合接口。
ArrayList实现该需求的具体步骤如下:
方法名称 | 说明 |
---|---|
boolean add(Object o) | 在列表末尾顺序添加元素,从0开始 |
void add(int index,Object o) | 在指定的索引位置元素,原索引位置及其后面的元素依次后移 |
int size() | 换回列表中的元素个数 |
Object get(int index) | 返回指定索引位置处的元素 |
boolean contains(Object o) | 判断列表是否存在指定元素 |
boolean remove(Object o) | 从列表中删除元素 |
Object remove(int index) | 从列表删除指定元素,起始位置从0开始 |
语法:
List dogs = new ArrayList();
方法名称 | 说明 |
---|---|
void addFirst(Object o) | 在列表的首部添加元素 |
void addLast(Obect o) | 在列表的末尾添加元素 |
Object getFirst() | 返回列表中的第一个元素 |
Object getLast() | 返回列表中的最后一个元素 |
Object removeFirst() | 删除并返回列表中的第一个元素 |
Object removerLast() | 删除并返回列表中的最后一个元素 |
语法:
LinkedList dogs = new LinkedList();
方法名称 | 说明 |
---|---|
Object put(Object key Object value) | 以键-值的方式进行储存 |
Object get(Object key) | 根据键返回相关联的值,若不存在指定的键,则返回null |
Object remover(Object key) | 删除指定的键映射的键-值 |
int size() | 返回元素个数 |
Set keySet() | 返回键的集合 |
Collection values() | 返回值的集合 |
boolean isEmpty() | 若不存在键-值映射关系,则返回true |
void clear() | 从此映射中移除所有映射关系 |
语法:
Map countries = new HashMap();
boolean hasNext() :判断是否存在另一个可访问的元素。
Object next():返回要访问的下一个元素。
代码:
public class Test5 {
public static void main(String[] args) {
Dog ououDog = new Dog("欧欧","雪拉瑞");
Dog yayaDog = new Dog("亚亚","雪拉瑞");
Dog meimeiDog = new Dog("美美","拉布拉多");
Dog feifeiDog = new Dog("菲菲","拉布拉多");
Map dogMap = new HashMap();
dogMap.put(ououDog.getName(),ououDog);
dogMap.put(yayaDog.getName(),yayaDog);
dogMap.put(meimeiDog.getName(),meimeiDog);
dogMap.put(feifeiDog.getName(),feifeiDog);
System.out.println("使用Iterator遍历,"+"所有狗狗的昵称和品种分别是:");
Set keys = dogMap.keySet();//获取key的集合
Iterator it = keys.iterator();//获取Iterator对象
while (it.hasNext()) {
String key = (String) it.next();//取出key
Dog dog = (Dog)dogMap.get(key);//根据key取出对应的值
System.out.println(key+"\t"+dog.getStrain());
}
}
}
public class Test6 {
public static void main(String[] args) {
Dog ououDog = new Dog("欧欧","雪拉瑞");
Dog yayaDog = new Dog("亚亚","雪拉瑞");
Dog meimeiDog = new Dog("美美","拉布拉多");
Dog feifeiDog = new Dog("菲菲","拉布拉多");
List<Dog>dogs = new ArrayList<Dog>();//标记元素类型
dogs.add(ououDog);
dogs.add(yayaDog);
dogs.add(meimeiDog);
dogs.add(2 , feifeiDog);//添加feifeiDog到指定位置
Dog dog3 = dogs.get(2);
System.out.println("第三个狗狗的信息如下:");
System.out.println(dog3.getName()+"\t"+dog3.getStrain());
System.out.println("\n所有狗狗的信息如下:");
for (Dog dog:dogs) {
//无须类型强制转换
System.out.println(dog.getName()+"\t"+dog.getStrain());
}
}
}
集Java的集合框架中的两个类接口,即Collection 和Map。其中Collection有两个子接口,即List和Set。区别如下:
ArrayList和数组采用相同的方式存储,它的优点在与遍历元素和随机访问元素的效率比较高。LinkedList采用链表存储方式,优点在与插入,删除元素时效率比较高。
HashMap是最常见的Map实现类,它的存储方式是哈希表,优点是查询指定元素效率高
Iterator为集合而生,专门实现集合的遍历。它隐藏了各种集合实现类的内部细节。提供了遍历的统一编程接口
Java中共有八个包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Charcter
Map实现类,它的存储方式是哈希表,优点是查询指定元素效率高
Iterator为集合而生,专门实现集合的遍历。它隐藏了各种集合实现类的内部细节。提供了遍历的统一编程接口
Java中共有八个包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Charcter