栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java小白学习笔记 Collection 集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java小白学习笔记 Collection 集合

常用集合

Collection常用方法

add()添加

remove()移除

isEmpty()是否为空

 contains()元素是否存在

toArray()转数组

 iterator()迭代器

ArrayList 

可变数组,元素有序,可重复

初始长度为10,当容量不够时自动扩容为当前的1.5倍,10,10*1.5,10*1.5*1.5....

底层为数组,在执行增加或者删除操作的时候会创建新数组,效率不高,但得力于下标的设计,查询速度很快,适用于查询较多的环境,*查询块增删慢

linkedList

底层为链表,元素有序,可重复

除首位节点,每个节点都只知道相邻两节点的位置,在增加和删除时有较高的效率,*查询慢,增删较快

 

Set

无序,元素不能重复,当存储类型为自定义的类时,需要重写类中的toString()、HashCode()、equal()方法

public class MyTest {
    public static void main(String[] args) {

        HashMap map = new HashMap();
        //键盘输入一串字符
        String str = new Scanner(System.in).nextLine();

        for (int i = 0; i < str.length(); i++) {
            //根据key判断字符是否出现过,若第一次出现则以  key,1的形式加入
            if (!map.containsKey(str.charAt(i))){
                map.put(str.charAt(i),1);
            }else{
                //若出现过则获取对应key的value值+1,再重新赋值(),重复的key会覆盖之前的value
                int i1 = map.get(str.charAt(i)) + 1;
                map.put(str.charAt(i),i1);
            }
        }
        System.out.println(map);

    }
}

HashMap

底层是Entry[K,V]数组,初始容量为16,当使用量达到75%自动扩容为原来约2倍

Key值唯一不能重复,Value可以

存储时表现为  hash(K) % n   放在余数的位置  当取余重复时,一链表形式挂在位置后面

Entry[K,V]数组长度

当Entry[K,V]数组大于64且链表长度大于8 会转化为红黑树,提高查询效率

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352272.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号