您的当前位置:首页集合框架--collection

集合框架--collection

2024-12-10 来源:哗拓教育

java中集合框架的两大分支,分别为Collection和Map

Collection

  • Collection和Map都来自于java.util包。
  • Collection接口常用的子接口为List 和 Set

List

  • List是有序的可以通过下标(索引)来精确的控制元素的插入位置以及获取元素
  • List允许重复元素
  • ArrayList是List 接口常用的实现类
- ArrayList
  • Arraylist是大小可变的实现类,允许null元素的存在
  • 基本数据类型在泛型中使用的是包装类(int => Integer)
  • ArrayList 不是线程安全的包装类,但是vector是线程安全的List接口的实现类
  • LinkedList类是List接口的链表实现
  • 基本数据类型在泛型中使用的是对应的包装类
ArrayList使用
  • 创建ArrayList,用过.add赋值
//使用ArrayList要导入 List和ArrayList包
    List<String> list = new ArrayList<>();
        
        list.add("aaa");
        list.add("bbb");
  • 数组的迭代
 数组的迭代
        //第一种循环  for循环
        for(int i = 0; i < list.size();i++ ){
            //list.get(index)  取值
            System.out.println(list.get(i));
        }
        
        //第二种循环 for each
        for(String str : list){
            System.out.println(str);
        }
        
        //第三种方法  迭代器  
        //使用这个方法要先导入包java.util.Iterator;
        //相比来说for each 更加方便  作为了解
        Iterator<String> itr = list.iterator();
        while(itr.hasNext()){
            String str = itr.next();
            System.out.println(str);
        }
  • 其方法的使用
    public static void main(String[] args) {
        
        List<String> list = new ArrayList<>();
        
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add(2, "222");
        
        //subList 截取
        
        List<String> li =list.subList(0, 2);
        for(String str : li){
            System.out.println(str);
        }
        
        
        
        //替换某一位置的值 set
        list.set(0, "111");
        
        // 从此列表中移除第一次出现的指定元素(如果存在)
        //两种方法 1:通过索引      2:通过元素内容
        list.remove(0);
        list.remove("bbb");
        
        //contains方法  判断是否有此值
        System.out.println(list.contains("as"));
        //indexof 第一次出现该元素的索引值 没有返回-1
        System.out.println(list.indexOf("aaa"));
        //lastIndexOf 最后一次出现该元素的索引值 没有返回-1
        System.out.println(list.lastIndexOf("ccc"));
    }       

Set

  • Set接口不允许重复元素出现
  • hashSet是Set的实现。
hashSet
  • 该类存放的元素是无序的,允许null元素
  • HashSet不是安全线程的类
  • TreeSet类是Set有序的实现类!
显示全文