集合类

一、集合类与数组的区别

1.集合的长度可变,数组的长度固定;

2.集合用来存放对象引用,数组用来存放基本类型的数据;

二、集合类的关系

1.Collection接口

存储一组不唯一、无序的对象。

 

2.List接口

存储一组不唯一、有序(插入顺序)的对象。

2.1实现类:ArrayList类、LinkedList类

ArrayList类:实现长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率较高。

ArrayList类常用方法

add()  addAll()  clear()  size()  iterator()  get()  set()

LinkedList类:采用链表存储方式,插入、删除元素时效率较高。

add()  addAll()  addFirst()  addLast()  clear()  remove()  size()  iterator()  get()  set()

 

3.Set接口

存储一组唯一、无序的对象。

唯一性:在添加对象时,会先采用对象的equals()方法与当前已有的对象的HashCode进行比较(重写了equals()方法的除外),如果没有相同的对象,则添加新的对象。

无序性:没有get()方法,无法通过下标遍历Set集合。

遍历set集合方法:

1.通过迭代器Iterator

public static void main(String[] args){
    Set<String> set = new HashSet<String>();
    set.add("c");
    set.add("a");
    set.add("c");
    set.add("b");
    Iterator<String> it = set.iterator();
    while (it.hasNext()) {
        String str = (String) it.next();
        System.out.print(str + " ");
    }
}

输出结果:a b c

2.增强型for循环

public static void main(String[] args) {
    Set<String> set = new HashSet<String>();
    set.add("c");
    set.add("a");
    set.add("c");
    set.add("b");
    for (Object obj : set) {
        String str = (String) obj;
        System.out.println(str);
    }
}

输出结果:a b c

 

4.Map接口

存储一组键值对象,提供key到value的映射。

输出所有的key值:keySet()方法,返回键的Set视图;

输出所有的values值:values()方法,返回值的Collection视图;

获得所有的键值对:entrySet()方法,返回键值对的Set视图。

public static void main(String[] args) {
    Map<String, String> map = new HashMap<>();
    map.put("java", "课堂学习");
    map.put("Html", "视频学习");

    // 获得所有键值对的集合
    Set<Map.Entry<String, String>> entrySet = map.entrySet(); // 集合中对象的类型为Map.Entry
// 方法一:通过增强型for循环
for(Object obj:entrySet) { String key = ((Map.Entry) obj).getKey().toString(); String value = ((Map.Entry) obj).getValue().toString(); System.out.println(key + "---" + value); }
// 方法二:通过迭代器Iterator
Iterator<Map.Entry<String,String>> it1;
it1 = entrySet.iterator();

while(it1.hasNext()){
Map.Entry<String,String> me = it1.next();
String key1 = me.getKey();
String value1 = me.getValues();
System.out.println(key1 + "---" + value);
}

Iterator
<String> it; System.out.println("key值:"); // 获得所有键的集合 Set<String> set = map.keySet(); // 集合中对象的类型为String it = set.iterator(); while (it.hasNext()) { System.out.print(it.next() + "\t"); } System.out.println("\nvalues值:"); // 获得所有值的集合 Collection<String> coll = map.values(); // 集合中对象的类型为String it = coll.iterator(); while (it.hasNext()) { System.out.print(it.next() + "\t"); } System.out.println("键值对:"); // 获得所有键值对的集合 Set set1 = map.entrySet(); System.out.println(set1); }

 

 

public static void main(String[] args) {
    Map<String, String> map = new HashMap<>();
    map.put("java", "课堂学习");
    map.put("Html", "视频学习");

    Iterator<String> it;
    System.out.println("key值:");
// 获得所有键的集合 Set
<String> set = map.keySet(); it = set.iterator(); while (it.hasNext()) { System.out.print(it.next() + "\t"); } System.out.println("\nvalues值:");
// 获得所有值的集合 Collection
<String> coll = map.values(); it = coll.iterator(); while (it.hasNext()) { System.out.print(it.next() + "\t"); }
System.out.println("键值对:");
// 获得所有键值对的集合
Set set1 = map.entrySet();
    System.out.println(set1);
}

 

转载于:https://www.cnblogs.com/YeHuan/p/10740990.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值