JAVA集合框架

  1. Collection接口
Collection方法描述
boolean add(E obj)将obj添加到集合中
boolean remove(Object obj)从集合中删除obj实例
void clear()删除调用集合中的所有元素
void contains(Object obj)判断集合中是否包含某元素
void isEmpty()判断集合中是否为null
void size()返回集合中的元素数量
Iterator()返回调用集合的一个迭代器

(1)List:有顺序的,可重复的

List方法描述
boolean add(int index,E obj)将obj添加到集合中的指定索引位置
boolean remove(int index)从集合中删除索引位置元素
boolean indexOf(Object obj)返回第一个obj实例的索引
   List接口实现:
   ArrayList:底层就是数组,查询快,增删快
   LinkedList:底层是双向链表,会存放前后元素指针,查询慢,增删快
             addFirst(),addLast,removeFirst(),removeLast()
             get(int index),getFirst(),getLast()       

(2)Set:无序的,不可重复的 HashSet(要保证对象唯一)和TreeSet

(3)迭代器

         Iterator it = lst.iteraor();//获取迭代器
          it.hasnext;//判断下一个元素是否存在
          while(it.hasnext){
                   it.next()//获取下一个元素
           }
  1. Map-hashMap
    概念介绍:
    (1)数组,采用一段连续的存储单元来存储数据,指定下标查找较快,通过给定值查找需要遍历,插入涉及到数组元素移动
    (2)线性链表,新增删除等,仅需要处理节点间的引用即可(快),而查找操作需要遍历链表逐一进行比对(慢),
    (3)二叉树,对一颗相对平衡的有序二叉树,对其插入、查找、删除等,速度都居中O(logn),类似二分法查找数组
    (4)hash表:添加、删除、查找性能都很高,仅需要一次定位就可以完成
    location = hash(关键字)
    (5)HashMap是由数组+链表组成的
    (6)hash(key)%16->取余->index->栈中的地址
    得到数组下标后,可以将key-value一起存到数组中
    存入数据时,先拿index进行比对,如果inedx存在,比hash和key是否相等,如果不等,以链表方式存储新的数据
     //传值,删除
     Map map=new HashMap();
     map.put("key1","value1");
     map.put("key2","value2");
     map.remove();
     //遍历方式1
     Set keys = map.keySet();
     Iterator it = keys.iterator();
     while(it.hasnext){
         String key = it.next();//获取下一个元素
         String value = map.get(key);
     }
     //遍历方式2
     Set set = map.entrySet();//获取map键值对结合
     Iterator it1 = keys.iterator();
     while(it.haNext()){
        Map.Entry entry = (Map.Entry)it.next();获取到每一个键值对对象
        entry.getKey();
        entry.getValue();
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值