Java集合

前言

基本概念:Java容器类类库的基本作用是“保存对象”并将其分为两个不同的概念Java集合可分为Collection和Map两种体系
Collection:一个独立元素的序列,List必须按照插入的顺序保存元素,Set不能有重复的元素,Queue按照排队规则来确定对象产生的顺序
Map:一组成对的“key-value”对象,允许使用键来查找值,因为它将某些对象与另外一些对象关联在一起,或者被称为“字典”。

Java集合框架

这里写图片描述

java集合框架
 * |---collection接口
 *      |---Set接口(元素无序、不可重复)
 *          |---HashSet、LinkedHashSet、TreeSet
 *      |---List接口(元素有序、可重复)
 *          |---ArrayList、LinkedList、vector
 * |---Map接口(key-value映射关系)
 *      |---HashMap、LinkedHashMap、TreeMap、HashTable
 * |---Collections集合工具类
 * |---迭代器

Collection接口

1.list接口:存储有序的,可以重复的元素
ArrayList、LinkedList、vector
ArrayList底层是数组实现的
LinkedList底层是链表实现的 主要用于频繁的插入、删除
vector线程安全的
2.set接口:存储无序的,不可重复的元素
HashSet、LinkedHashSet、TreeSet
无序性指的是元素在底层的存储是无序的
不可重复性是指向set元素添加相同的元素的时候,后面的这个不能添加进去

Map接口

Map接口:具有映射关系key-value对的集合
  1. HashMap:Map的主要实现类
  2. LinkedHashMap:使用链表维护添加进Map中的顺序,遍历Map时,是按添加的顺序遍历的
  3. TreeMap:按照添加进Map中的元素的key的指定属性进行排序
  4. Hashtable:古老的实现类,线程安全的,不建议使用
  5. Properties:常用来处理属性文件。键值都为String类型的

集合工具类:Collections

Collections是一个操作SetListMap等集合的工具类
Collection中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制方法

集合中常用方法

/**
 * ArrayList 是list接口下的主要实现类,底层是数组实现的,对于频繁的查找操作
 * linkedList底层是链表实现的,对于频繁的插入、删除操作
 * vector是线程安全的
 */
 List<Integer> list = new ArrayList<>();
        list.add(0,1);//指定位置添加
        list.add(2);//添加元素
        list.remove(0);//删除元素
        list.get(0);//查询元素
        list.set(0,3);//修改指定位置元素
        list.isEmpty();//判断是否为空
        list.subList(0,2);//获取子串
        list.indexOf(2);//集合中首次出现的位置
        list.contains(1);//包含某个元素
       Object[] obj = list.toArray();//集合转换成数组
        for(int i = 0;i<obj.length;i++){//数组遍历
            System.out.println(obj[i]);
        }
        //iterator()实现集合的遍历
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){//迭代器实现集合遍历
            System.out.println(iterator.next());
 /**
         * 1.HashMap允许key和value都为空
         * 2.HashMap的key重复会覆盖,value允许重复
         * 3.HashMap是无序的,遍历的时候得到的元素的顺序是无序的
         * 4.HashMp是非线程安全的
         *
         */
        Map<String,String> hashMap = new java.util.HashMap<String,String>();
        hashMap.put("1","111");
        hashMap.put("","");
        hashMap.put("1","222");
        hashMap.put("2","hajhjhjah");
        hashMap.remove("2");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值