java集合笔记

集合

结构图

在这里插入图片描述

方法

  • boolean add( Object obj)//添加一个对象。
  • boolean addAll( Collection c)//将一个集合中的所有对象添加到此集合中。
  • void clear()//清空此集合中的所有对象。
  • boolean contains( Object o)/检查此集合中是否包含o对象
  • boolean equals( Object o)//比较此集合是否与指定对象相等。
  • boolean isEmpty()/判断此集合是否为空
  • boolean remove( Object o)//在此集合中移除o对象
  • Int size()//返回此集合中的元素个数。
  • Object[] toArray()//将此集合转换成数组。

Collection

  • 集合概念:对象的容器,定义了对多个对象进行操作的方法,可实现数组的功能。

  • 和数组区别:集合只能存储引用类型,数组可以存储基本数据类型和引用类型。

  • hasNext();//有没有下一个元素

  • next();//获取下一个元素

  • Remove();//删除当前元素,括号内是确切的元素;

  • Contains();//判断某元素是否

  • 迭代器:

Iterator it = collection.iterator();
  while(it.hasNext()){
  String s= (String) it.next();
    it.remove();//迭代器中的方法,删除所有元素
  • List子接口(有序的Collection,有下标,可重复)

  • 实现类有ArrayList,LinkedList,Vector

  • 方法:

  • void addi( int index, Object o)/在 indexf位置插入对象o.

  • boolean addAll( int index, Collection c)将一个集合中的元素添加到此集合中的
    index位置。

  • Object get( int index)//返回集合中指定位置的元素。

  • List subList( int fromIndex, int tolndex)//返回 fromindex和tolindex之间的集合元素

//几种遍历方式
    //for遍历
    for (int i=0;i<list.size();i++){
      System.**out**.println(list.get(i));
    }
    //增强for遍历
    for (Object obj: list
       ) {
      System.**out**.println(obj);
    }
    //迭代器遍历
    Iterator li = list.iterator();
    while (li.hasNext()){
      System.**out**.println(li.next());
    }
    //列表迭代器遍历,Listiterator可以往后或往前遍历,添加,删除,修改元素
    ListIterator lis = list.listIterator();
//     从前往后遍历
    while (lis.hasNext()){
      System.**out**.println(lis.nextIndex()+":"+lis.next());
    }
//     从后往前遍历
    while (lis.hasPrevious()){
      System.**out**.println(lis.previousIndex()+":"+lis.previous());
    }
  }

泛型

  1. 常见形式:泛型类,泛型接口,泛型方法

  2. 本质是参数化类型,把类型当作参数传递。

  3. 语法<T,…> ,T是类型占位符,表示一种引用类型

  4. 好处:提高代码重用性;防止类型转换异常,提高安全性。

  5. 直接强制指定一个集合里的数据类型,不用强转类型了,编译时就能发现异常;

Set接口(无序,不可重复,无下标)

实现类HashSet

删除元素:Set.remove(元素)

遍历不能用for循环,因为是无序无下标的,可以用增强for

TreeSet

  • 基于排列顺序实现元素不重复。

  • 实现了 Sortedset.接口,对集合元素自动排序。

  • 元素对象的类型必须实现 Comparable接口,指定排序规则。

  • 通过 CompareTo方法确定是否为重复元素。

Map

在这里插入图片描述
在这里插入图片描述

  • 特点:存储一对数据(Key- Value),无序、无下标,键不可重复,值可重复。
  • 方法:
    V put(K key, V value)//将对象存入到集合中,关联键值。key重复则覆盖原值。
    Object get( Ob ject key) //根据键获取对应的值
    Set //返回所有key.
    Collection values()//返回包含所有值的 Collection集合。
    Set<Map. Entry<K,V>> //键值匹配的Set集合。
  1. 遍历

    //遍历,
     // 1.使用keySet();将map集合中的key拿到返回给一个Set集合,相当于Set集合里保存了map集合中的所有key
       Set<String> keyset=map.keySet();
    for (String key: keyset) {
      System.**out**.println(key+map.get(key));
    }
     //2.使用entrySet,将map集合中的key和value拿到并返回给一个Set集合中
    Set<Map.Entry<String,String>> entries=map.entrySet();
    for (Map.Entry<String,String> entry:entries) {
      System.**out**.println(entry.getKey()+entry.getValue());
    }
    
     
    

Collections工具类(提供一些方法,对集合排序,二分查找等)

  • 方法:
    public static void reverse(List<?>〉list)//反转集合中元素的顺序
    public static void shuffle(List<?>〉list)//随机重置集合元素的顺序
    public static void sort(Listlist)//升序排序(元素类型必须实现
    Comparable接口)

集合总结

  • 集合的概念:
    对象的容器,和数组类似,定义了对多个对象进行操作的常用方法。
  • List集合
    有序、有下标、元素可以重复。( Arraylist、 Linkedlist、 Vector)
  • Set集合:
    无序、无下标、元素不可重复。( Hashset、 Treeset)
  • Map集合:
    存储一对数据,无序、无下标,键不可重复,值可重复。( Hashmap、 Hashtable、 Treemap)
  • Collections:
    集合工具类,定义了除了存取以外的集合常用方法。
    (Linkedlist、 Vector)
  • Set集合:
    无序、无下标、元素不可重复。( Hashset、 Treeset)
  • Map集合:
    存储一对数据,无序、无下标,键不可重复,值可重复。( Hashmap、 Hashtable、 Treemap)
  • Collections:
    集合工具类,定义了除了存取以外的集合常用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值