java集合相关知识

集合大致分为三类
List:有序可重复
Set:无序不可重复
Map:俗称字典,key value

Java集合类由两个接口派生:Collection和Map,其中Collection下主要有Set、List、Queue三个接口,而Map接口主要是各种Map接口。
Iterator接口用来迭代集合对象进行输出的,必须依赖于Collection才可使用

public  List<Integer>list=new ArrayList<>();
    public  void each(){
        list.add(1);
        list.add(2);
        Iterator c=  list.iterator();
        list.add(3);//这样就废了,已经给了迭代器对象了,不能再改变集合了ConcurrentModificationException
        while(c.hasNext()){
            System.out.println(c.next());
        }
    }

集合与数组区别:集合是可变的,数组编译时候就确定了大小,数组不但可以存基本数据类型也可存对象的引用,集合只可以存对象引用。

详细介绍:
ArrayList:单线程,基于数组开发,数组特性都有了
Vector:区别多线程,其他一样
LinkedList:基于双向链表 前指针 值 后指针,链表特性都有。
HashSet:基于hash表,元素唯一性依赖于hashCode()和equals(),得重写equals跟hashcode方法。
LinkedHashSet:基于链表和哈希表,链表保证元素有序,哈希表保证元素唯一
TreeSet:基于红黑树,元素排序自然排序,比较器排序,唯一性,根据返回的值是否是0来决定
HashTable跟HashMap:多线程与单线程的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值