简述 JAVA集合类


集合:是数据的容器,可以存储不同的对象或参数(类型可自定),主要方法是增、删、改、查
一、接口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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值