Java复合框架

Collection接口

特征:存储一组不唯一、无序的对象

常用方法:

1.添加元素:boolean add(Object o)

2.将集合c添加到指定集合:boolean addAll(Collection c)

3.是否包含指定元素:boolean contains(Object o)

4.清空:void1 clear()

5.删除元素:boolean remove(Object o)

5.返回长度:int size()

集合遍历

Iterator:

特征:遍历Collection集合元素的统一编程接口

常用方法:

1.是否存在下一个:boolean hasNext()

2.返回下一个元素:Object next()

3.移除元素:void remove()

for:适用于有序集合,如ArrayList、LinkedList等

foreach:适用于所有集合

list

特征:继承Collection接口,储存一组不唯一、有序的对象

实现类:

ArrayList:

底层是数组结构

查询效率高,添加删除率低

LinkedList:

底层是双向链表

插入、删除数据效率高,不便于快捷访问数据

扩充的方法:

1.根据索引获取数据:Object get(int index)

2.修改数据: Object set(int index,Object element)

3.其他与索引相关的操作方法

Set:

特征:继承Collection接口,储存一组唯一、无序的对象

实现类:HashSet

Map:

特征:储存一组成对的键-值对象,提供key到value的映射

key:不要求有序,不允许重复

value:不要求有序,但允许重复

常用方法:

1.添加数据:Object put(Object key,Object value)

2.根据键返回值:Object get(Object key)

3.返回键的集合:Set keyset()

4.返回值的集合:Collection values()

泛型集合:

1.可以约束集合中元素的类型

2.保障类型安全

3.常用泛型集合:ArrayList<K,V>,HashMap<K,V>等

代码:

package ch04;
​
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
​
public class ee {
    public static void main(String[] arys) 
    {
        ee1();
    }
    public static void ee1()
    {
        List<String> fruit = new ArrayList<String>();
        fruit.add("苹果");
        fruit.add("梨子");
        System.out.println("集合长度:"+fruit.size());
        fruit.add("梨子");
        fruit.add("香蕉");
        fruit.add("榴莲");
        
​
        fruit.set(1,"桃子");
        fruit.add(1,"芒果");//在指定下标插入数据,才方法属于List接口,所以要声明成List类型,或者子类
​
​
        List fruit3 = fruit.subList(2,4);//从集中的指定位置区间,截取并生成新的集合对象
        System.out.println("fruit3集合内容"+fruit3.toString());
​
        //fruit.add(5);
        System.out.println("集合长度:"+fruit.size());
​
        //删除
        fruit.remove("香蕉");//根据内容删除,不管位置
        //fruit.remove(5);//根据位置删除,不管内容
​
        //判断是否包含
        System.out.println("是否包含苹果:"+   fruit.contains("苹果"));
        System.out.println("fruit集合内容"+fruit.toString());
​
        //便利集合方式1-使用迭代器
        Iterator it = fruit.iterator();
        while(it.hasNext()) 
        {
            String fru = (String)it.next();
            System.out.println(fru);
        }
        //便利集合方式2-使用foreach
        for(Object object : fruit) 
        {
            String fru = (String)object;
            System.out.println(fru);
        }
        Collection fruit2 = new HashSet();
        fruit2.add("苹果");
        fruit2.add("榴莲");
        System.out.println("fruit2集合内容:"+fruit2.toString());
​
        System.out.println("fruit中完全包含fruit2吗?"+fruit.containsAll(fruit2));
    }
}
HashtableHashMap
继承自Dictionary类Java1.2引进的Map interface的一个实现
线程安全线程不安全
不允许有null的键和值允许有null的键和值
效率稍低效率稍高

实际开发中HashMap用的多

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值