Java 集合回顾-Connection

前情:
数组的长度是固定的,在许多应用场合,一组数据的数目是不固定的,比如一个单位的员工数目是变化的,有老的员工跳槽,也有新的员工进来。比如一个单位的客户是变化的,有老的客户流失,也有新的客户签单。

为了使程序能方便地存储和操纵数目不固定的一组数据,JDK类库提供了Java集合,所有Java集合类都位于java.util包中。与Java数组不同,Java集合中不能存放基本类型数据,而只能存放对象的引用。出于表达上的便利,通常把“集合中的对象的引用”简称为“集合中的对象“。

集合与数组区别:
(1)长度,数组:定长 集合:变长
(2)数组中只能存放同类型数据,集合中的元素可以是不同的类型
(3)数组可以放基本数据类型和引用数据类型,集合只能存放引用数据类型

Java中集合主要分为三种类型:
Set : 无序(与放入的先后的次序无关),并且放进集合中的对象不能重复。

HashSet、LinkedHashSet、TreeSet

List: 有序(与放入的先后的次序有关), 放进集合中的对象可以重复。

ArrayList、LinkedList、Vector

Map :集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。(Key - Value)

HashMap  HashTable  TreeMap

Collection和Iterator接口
Set和List接口继承了Collection接口,在Collection接口中声明了适用于Set和List的通用方法:
(1)boolean add(Object o): 向集合中加入一个对象的引用;
(2)void clear(): 删除集合中的所有对象引用,即不再持有这些对象的引用;
(3)boolean contains(Object o): 判断在集合中是否持有特定对象的引用;
(4) boolean isEmpty(): 判断集合是否为空;
(5)Iterator iterator(): 返回一个Iterator对象,可用它来遍历集合中的元素;
(6)boolean remove(Object o): 从集合中删除一个对象的引用;
(7)int size(): 返回集合中元素的数目;
(8)Object[] toArray(): 返回一个数组,该数组包含集合中的所有元素;

Collection中的另一些常用方法:
                  boolean addAll(Collection c)
                  boolean removeAll(Collection c)
                  boolean containsAll(Collection c)
                  boolean retainAll(Collection c)

Iterator(迭代器)接口中的定义的方法可以帮我们去遍历集合中的元素。
Iterator接口隐藏底层集合的数据结构,向客户程序提供了遍历各种类型的集合的统一方法。Iterator接口中声明方法:
(1)hasNext():判断集合中的元素是否遍历完毕,如没有,就返回true;
(2)next(): 返回下一个元素;
(3)remove(): 从集合中删除上一个由next()方法返回的元素;

import java.util.*;
public class Visitor {
    public static void print(Collection c) {
          Iterator it = c.iterator();
          while(it.hasNext()) {
                 Object element = it.next();
                 System.out.println(element);
          }
    }

    public static void main(String args[]) {
			Set set = new HashSet();
			set.add("Tom");
			set.add("Mary");
			set.add("Jack");
			print(set);
			
			List list = new ArrayList();
			list.add("Linda");
			list.add("Mary");
			list.add("Rose");
			print(list);
			
			Map map = new HashMap();
			map.put("M","男");
			map.put("F","女");
			print(map.entrySet());
      }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值