欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

集合框架

程序员文章站 2022-01-15 10:58:31
...

集合框架

定义: 集合和数组类似,只不过集合的数据可以动态变化

List

ArrayList集合
ArrayList集合存储的数据,有序,可以重复
初始容量为10的口列表
底层是Object数组
因为有下表,增删很慢,查询很快
案例:

		ArrayList<String> list=new ArrayList();
        list.add("谢老板");
        list.add("派大星");
        list.add("画面宝宝");
        list.add("倒霉熊");

        //根据类容清除
        //集合对象名.remove("内容");
        list.remove("画面宝宝");

        //根据下标清楚
        //集合对象名.remove(下标);
        //如果集合类型为Integer使用下表进行删除可能会出现报错情况
        list.remove(0);

        //通过下表修改集合内容
        //集合对象名.set(集合下表,"集合内容");  
        list.set(0,"谢保王");

        //清空列表所有数据
        list.clear();
		
		//单个查询
		//返回值类型 对象名=集合对象名.get(下标)
		String getList=list.get(0);
		System.out.println(getList);
		
        //lambda表达式遍历数据(jdk1.8以上才有)
        //集合对象名.forEach(自定义名->{代码块})
        list.forEach(temp->{
            System.out.println(temp);
        });

LinkedList集合

LinkedList和ArrayList集合语法一样
LinkedList增删特别快,查询慢
案例

		LinkedList<String> bookList1=new LinkedList();
        bookList1.add("java从门到放弃");
        bookList1.add("HTML+SSM从入门到精通");
        bookList1.add("Mysql从入门到秃头");
        bookList1.add("oop从入门到放弃");
        bookList1.add("三分钟带你精通高并发带你拿高薪");

        //集合转数组,返回值为Object类型
        //数组接收类型[] 对象名 = 集合对象名.toArray();
        Object[] object = bookList1.toArray();
        for (Object obj: object) {
            System.out.println(obj);
        }

        //吧一个集合里面的数据放到另一个集合中
        // 对象名2.addAll(对象名1);对象名1的集合数据放到对象名2的集合中
        LinkedList<String> bookList2=new LinkedList();
        bookList2.addAll(bookList1);

set

set集合:存储数据无序,不可重复
HashSet
HashSet extends(继承) Abstractset
Hashset初始容量为16,加载因子是0.75
底层是哈希表
案例:

 Set<String> hashSet=new HashSet<String>();
        hashSet.add("喜羊羊");
        hashSet.add("村长");
        hashSet.add("懒羊羊");
        hashSet.add("沸羊羊");
        hashSet.add("美羊羊");

        //由于底层是哈希表,没有下标,只能提供内容删除
        hashSet.remove("喜羊羊");

        //在HashSet中没有修改,修改要先删除在添加
        //吧懒洋洋修改成灰太狼
        hashSet.remove("懒洋洋");
        hashSet.add("灰太狼");
		
		 //判断元素是否存在
        boolean folg = hashSet.contains("喜羊羊");
        System.out.println(folg);
		
        //遍历
        hashSet.forEach(temp->{
            System.out.println(temp);
        });

TreeSet
TreeSet:底层是二叉树,不可以重复,(实现了Comparable,Comparator接口类型)可以进行排序(8大数据类型可以进行排序,中文是通过首拼排序)

   Set<Integer> treeSet=new TreeSet<>();
        treeSet.add(12);
        treeSet.add(32);
        treeSet.add(30);
        treeSet.add(88);
        treeSet.add(-1);
        treeSet.add(24);
        treeSet.forEach(tmep-> System.out.print(tmep+"\t"));
        System.out.println("\n\n"+"------------国际专业分割线-------------"+"\n");
        Set<String> treeSet2=new TreeSet<>();
        treeSet2.add("海绵宝宝");//h
        treeSet2.add("派大星");//p
        treeSet2.add("光头强");//g
        treeSet2.add("谢老板");//x
        treeSet2.add("章鱼哥");//z
        treeSet2.add("熊大");//x  
        treeSet2.forEach(tmep-> System.out.print(tmep+"\t"));
相关标签: Ide