集合框架(二)

java集合框架分为两大类接口: 

Collection    Map

其中Collection又有二个子接口:List和Set

共同点:都是集合接口,都可以用来存储很多对象.

区别:

1)Collection接口存储一组不唯一(允许重复).无序的对象,

2)Set接口继承Collection接口,存储一组唯一(不允许重复).无序的对象.

3)List接口继承Collection接口,存储一组不唯一(允许重复).无序(以元素插入的次序来放置元素,不会重新排列)的对象.

4)Map接口存储一组成对的键-值对象,提供key(键)到value(值)的映射.

Map中的key不要求有序,不允许重复.value同样不要求有序,允许重复

Collection接口: 

    Set接口:

       HashSet集合类

        LinkedHashSet集合类

        TreeSet集合类

    List接口: 
        ArrayList集合类

        LinkedList集合类

        Vector集合类

Map接口:
     HashMap集合类
       TreeMap集合类

ArrayList集合类的用法

优点:

1)可以灵活的插入元素
1)可以灵活的删除元素

各种常用的方法:

1)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开始

import java.util.*;
public class Test01 {
public static void main(String[] args) {
Dog dog1=new Dog("偶偶","雪纳瑞");
Dog dog2=new Dog("菲菲","藏獒");
Dog dog3=new Dog("美美","布拉不多");
Dog dog4=new Dog("fei","布拉不多");
List<Dog> list=new ArrayList<Dog>();
list.add(dog1);
//void add(int index ,Object o) 在指定位置添加元素
list.add(1,dog2);//下标从0开始
list.add(dog3);
list.add(dog4);
//int size() 返回列表中的元素个数  size()的用法
System.out.println("总共有"+list.size()+"条狗狗");
//遍历狗狗信息
for (int i = 0; i < list.size(); i++) {
Dog dog = list.get(i);
System.out.println(dog.getName()+" "+dog.getStrain());
}
/**
* 删除狗狗信息
* boolean remove(Object o)从列表中删除元素

*Object  remove(int index)  从列表中删除指定位置的元素,起始索引位置从0开始
*/
list.remove(1);
list.remove(dog4);
System.out.println("删除后剩余"+list.size()+"条狗狗");
//显示删除后剩余狗狗的信息
for (int i = 0; i < list.size(); i++) {
Dog dog = list.get(i);
System.out.println(dog.getName()+" "+dog.getStrain());

}
//boolean contains(Object o) 判断表中是否存在指定元素
if(list.contains(dog3)){
System.out.println("集合中包含dog3的信息");
}else{
System.out.println("集合中不包含dog3的信息");
}
}

}

LinkedList集合类的用法

LinkedList的特殊用法:

void  addFirst(Object o)  在列表的首部添加元素

void  addLast(Object o)  在列表的末尾添加元素

Object  getFirst()   返回列表的第一个元素`

Object  getLast() 返回列表的最后一个元素`

Object removeFirst() 删除并返回列表中的第一个元素

Object removeLast() 删除并返回列表中的最后一个元素

 

import java.util.LinkedList;
public class Test02 {
public static void main(String[] args) {
Dog dog1=new Dog("偶偶","雪纳瑞");
Dog dog2=new Dog("菲菲","藏獒");
Dog dog3=new Dog("美美","布拉不多");
Dog dog4=new Dog("fei","布拉不多");
LinkedList<Dog> list=new LinkedList<Dog>();
list.add(dog1);
//void add(int index ,Object o) 在指定位置添加元素
list.add(1,dog2);//下标从0开始
//void addLast(Object o) 在列表的末尾添加元素
list.addLast(dog3);
//void addFirst(Object o) 在列表的首部添加元素
list.addFirst(dog4);
//查看第一条狗狗的信息
Dog first = list.getFirst();
System.out.println("第一条狗狗的昵称"+first.getName());
//删除第一条狗狗和最后一条狗狗
list.removeFirst();
list.removeLast();
System.out.println("删除后剩余"+list.size()+"条狗狗");
//显示删除后剩余狗狗的信息
for (int i = 0; i < list.size(); i++) {
Dog dog = list.get(i);
System.out.println(dog.getName()+" "+dog.getStrain());

}
}

}

原文地址:https://www.cnblogs.com/sujulin/p/6665539.html