JAVA集合框架

2023-05-04 19:32:53 浏览数 (1)

JAVA集合框架

Collection

定义

一个接口,目的是存储不唯一无序的对象

List

定义

一个继承Collection的接口,目的是存储不唯一有序的对象

公用方法
代码语言:javascript复制
Object  remove(int index)//移除下标元素,并返回该元素
boolean remove(Object o)//移除某元素
boolean contains(Object o)//是否包含元素
Object get(int index)//获取某下标的元素
int size()//获取元素的个数
void add(int index,Object o)//在指定的索引添加元素
boolean add(Object o)//在末尾添加元素
//也就是说下面所有的实现类都有该方法   
ArrayList
定义

实现了长度的可变数字,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高

LinkedList
定义

采取链表的存储方式,插入、删除元素的效率比较高

个性方法
代码语言:javascript复制
void  addFirst(Object o)//在首部添加元素
void  addLast(Object o)//在最后添加元素
Object  getFirst()//获取第一个元素
Object  getLast()//获取最后一个元素
Object  removeFirst()//移除第一个
Object  removeLast()//移除最后一个

Set

定义

一个继承Collection的接口,目的是存储唯一无序的对象

Map

定义

一个接口 ,目的是存储一组键值对象(key:value)

常用的方法
代码语言:javascript复制
Object put(Object key, Object val)//已键值对的形式进行存储
Object get (Object key)//根据键取值
Object remove (Object key)//根据键删除键值对
int size()//返回元素的个数
Set keySet ()//返回键的set集合
Collection values ()//返回值的集合
boolean containsKey (Object key)//是否包含某个键映射的键值对
遍历map
迭代器遍历iterator遍历

1.获取iterator:使用Collection接口的iterator()方法

2.terator的方法

代码语言:javascript复制
boolean hasNext()//判断是否存在另一个可访问的元素 
Object next()//返回要访问的下一个元素

3.举例

代码语言:javascript复制
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());
}
增强for循环

举例

代码语言:javascript复制
Set keys=dogMap.keySet();     
for(String key : keys) {
       Dog dog=(Dog)dogMap.get(key);
        System.out.println(key   "="   value);
    }

泛型集合

由来

因为在集合操作的时候涉及到很多的强制类型转换的问题,所以在我们的jdk1.5后就使用了泛型改写了集合框架

举例
代码语言:javascript复制
List <Dog> dogs = new ArrayList<Dog>();
//好处 1.无需强2.转类型有问题就主动报错,减少异常发生

0 人点赞