• 集合、collection、list的方法


    集合

    弥补了数组的缺点

    存储一堆数据时,首选集合

    Collection

    ​ List 列表 存储的数据有序,且可以重复

    ​ ArrayList 底层使用的数组,查询快,增删慢 (面试:ArrayList如何扩容?)

    ​ Set 存储的数据无序,且不可重复

    Map 存储的是key-value结构数据

    Collection中的方法:

    package com.qfedu.collection;
    
    import java.util.ArrayList;
    import java.util.Collection;
    
    public class App {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Collection collection = new ArrayList();
    		// 向集合中添加元素
    		collection.add("英雄联盟");
    		collection.add("穿越火线");
    		System.out.println(collection);
    		
    		// 删除指定的元素
    		collection.remove("穿越火线");
    		System.out.println(collection);
    		
    		Collection temp = new ArrayList();
    		temp.add("梦幻西游");
    		temp.add("王者荣耀");
    		
    		// 将一个集合中数据添加到另一个集合中
    		collection.addAll(temp);
    		System.out.println(collection);
    		
    		// 删除指定的集合
    //		collection.removeAll(temp);
    //		System.out.println(collection);
    		
    		// 获取集合中元素的个数
    		System.out.println(collection.size());
    		// 判断集合中是否有元素
    		System.out.println(collection.isEmpty());
    		
    		// 判断是否包含指定的对象
    		System.out.println(collection.contains("英雄联盟123"));
    		// 判断是否包含集合中的所有元素
    		System.out.println(collection.containsAll(temp));
    		
    		// 清空集合
    		collection.clear();
    		System.out.println(collection);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    List中方法:

    package com.qfedu.list;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class App {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		List list = new ArrayList();
    		list.add("Java");
    		list.add("python");
    		list.add("iOS");
    		// 在指定索引处插入元素, 其他元素下移
    		list.add(1, "AI");
    		System.out.println(list);
    		// 设置指定索引处的元素
    		list.set(2, "UI");
    		System.out.println(list);
    		// 获取指定索引处的元素
    		System.out.println(list.get(0));
    		
    		list.add("AI");
    		System.out.println(list);
    		// 获取指定元素的索引 如果没有找到,返回-1
    		System.out.println(list.indexOf("AI"));
    		System.out.println(list.lastIndexOf("AI123"));
    		
    		// 根据开始索引、结束索引,进行list集合的截取, 不包含结束索引处的元素
    		List subList = list.subList(1, 3);
    		System.out.println(subList);
    		
    		// 添加不同类型的元素
    		list.add(100);
    		list.add(12.3);
    		System.out.println(list);
    		
    		Object item = list.get(0);
    		// 强制类型转换
    		String str = (String)item;
    		System.out.println(str.length());
    		
    		// 理论上,集合中可以存储不同类型的数据,实际开发是,存的都是相同类型的数据
    		// java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    //		Object object = list.get(5);
    //		String str2 = (String)object;
    //		System.out.println(str2.length());
    		
    		// 泛型    针对集合,在<>指定需要存储的数据类型,<>中使用的数据类型是引用类型
    		List<String> list2 = new ArrayList<String>();
    		list2.add("haha");
    		// list2.add(10); 语法上报错
    		// 取值的时候也不需要进行强制类型转换
    		String string = list2.get(0);
    		System.out.println(string);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
  • 相关阅读:
    Web业务系统常见性能优化手段
    从0开始学统计-什么是回归?
    Django Web开发入门基础
    I420转RGB24,YUY2转RGB24,RGB24垂直翻转,RGB24水平翻转
    文本处理三剑客之 sed 流编辑器(高级部分)
    Redis解析与应用实践
    【POST请求-腾讯翻译君-爬虫案例】
    玩转双指针
    Spring Boot与Netty:构建高性能的网络应用
    Arrays.fill(dp, Integer.MAX_VALUE)
  • 原文地址:https://blog.csdn.net/weixin_51423778/article/details/126770279