简述 JAVA集合类

2022-08-18 14:38:23


集合:是数据的容器,可以存储不同的对象或参数(类型可自定),主要方法是增、删、改、查
一、接口Collection

 Collection是一个接口,继承它的有List与Set                                                                                                                        1、List :继承Collection(值可重复并有序)
 ArrayList:是一个线性表,存储是连续的,线程不安全,速度快(增删快,改查慢)
 Version:  是一个线性表,存储是连续的,线程安全,速度慢(增删快,改查慢)
 LinkedList:是一个单链表(通过指针指向一个对象,存储地址不连续)(改查快,增删慢)

//List的四种遍历方式:
//for:
for(int i=0;i<list.size();i++){
          System.out.println(list.get(i));
      }

//foreach:
for(Object obj:list){
          System.out.println(obj);
      }

//Enumeration:
       Enumeration enumeration= Collections.enumeration(list);
while(enumeration.hasMoreElements()){
               System.out.println(enumeration.nextElement());
       }

//Iterator:
       Iterator it= list.iterator();
while(it.hasNext()){
               System.out.println(it.next());
       }


2、Set :继承Collection(值不可重复--无序,一但值有重复,只能显示出一个,并且是最后出现的那个)
 HashSet:
 TreeSet:可以给一种类型的值,可自动排序

//Set的三种遍历方式:
//foreach:
for(Object obj:set){
         Sysstem.out.println(obj);
    }

//Iterator:
    Iterator it= list.iterator();
while(it.hasNext()){
           System.out.println(it.next());
    }

//Enumeration:
   Enumeration enumeration= Collections.enumeration(list);
while(enumeration.hasMoreElements()){
           System.out.println(enumeration.nextElement());
   }


3、List与Set 的通用方法:
 add()、addAll()、remove()、removeAll()、iterator()、size().
4、通过构造子可以将一个集合类变为另一个集合类,只限于List与Set接口下的所有集合类:
 List list = new ArrayList();
 list.add(1);
 list.add(2);
 list.add(3);
 Set set = new HashSet(list);
 这里将集合类list转化为了set
二、Map接口:,Map是以键值存储,每个键名都是唯一,如有重复,后面的将把前面的给覆盖掉
 Hashtable:线程安全,所有提供方法都实现了同步
 HashMap:线程不安全,所有方法没有提供同步

在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。

//hashtable与hashMap的读取方式:
  System.out.println(map.toString());//显示所存储在map中的所有无素
//foreach:
//得到所有键名
for(Object obj : map.keySet()){
       System.
out.println(obj);
  }

//得到所有的键值
for(Object obj : map.values()){
       System.
out.println(obj);
  }

//得到所有的键名和键值
for(Object obj : map.entrySet()){
       System.
out.println(obj);
  }

三、算法Collections:提供了很多的静态方法,来辅助处理集合类,只针对List与Set
 1、示例:

  List list=new ArrayList();
  list.add(
1);
  list.add(
6);
  list.add(
3);
  list.add(
2);
  list.add(
5);
  Collections.sort(list);
  System.out.println(list);


输出结果将是:[1, 2, 3, 5, 6]

  • 作者:TaoHero_1081
  • 原文链接:https://blog.csdn.net/TaoHero_1081/article/details/1930438
    更新时间:2022-08-18 14:38:23