Java 集合与数据结构 · 接口 interfaces ·Collection 常用方法 · Map 常用方法

一、Java 集合

Java 集合框架 Java Collection Framework,又被称为容器 container,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes

其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store、检索 retrieve、管理 manipulate,即平时我们俗称的增删改查 CURD。

集合,又例如:一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。


类和接口总览



二、学习 Java 集合框架有什么好处吗?

  • 使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码。
  • 学习背后的数据结构知识,有助于我们理解各个集合的优缺点以及使用场景。


三、接口 interfaces

3.1 基本关系说明

  1. Collection:用来存储管理一组对象 objects,这些对象一般被成为元素 elements。
  2. Set:元素不能重复,背后隐含着查找/搜索的语义。
  3. SortedSet:一组有序的不能重复的元素。
  4. List:线性结构。
  5. Queue:队列。
  6. Deque:双端队列。
  7. Map:键值对 Key-Value-Pair,背后隐含着查找/搜索的语义。
  8. SortedMap:一组有序的键值对。

3.2 Collection 常用方法说明

方法签名说明
boolean add(E e)将元素 e 放入集合中
void clear( )删除集合中的所有元素
boolean isEmpty( )判断集合是否没有任何元素,俗称空集合
boolean remove(Object e)如果元素 e 出现在集合中,删除其中一个
int size( )返回集合中的元素个数
Object[ ] toArray( )返回一个装有所有集合中元素的数组

3.3 Conllection 示例

	Collection<String> list = new ArrayList<>();
    System.out.println(list.size());
    System.out.println(list.isEmpty());
    
    list.add("我");
    list.add("爱");
    list.add("Java");
    System.out.println(list.size());
    System.out.println(list.isEmpty());
    
    Object[] array = list.toArray();
    System.out.println(Arrays.toString(array));
    
    for (String s : list) {
      System.out.println(s);
   }
   
    list.remove("爱");
    for (String s : list) {
      System.out.println(s);
   }
   
    list.clear();
    System.out.println(list.size());
    System.out.println(list.isEmpty());

3.4 Map 常用方法说明

方法签名说明
V get(Object k)根据指定的 k 查找对应的 v
V getOrDefault(Object k, V defaultValue)根据指定的 k 查找对应的 v,没有找到就用默认值代替
V put(K key, V value)将指定的 k-v 放入 Map
boolean containsKey(Object key)判断是否包含 key
boolean containsValue(Object value)判断是否包含 value
Set<Map.Entry<K, V>> entrySet()将所有键值对返回
boolean isEmpty()判断是否为空
int size()返回键值对的数量

3.5 Map 示例

     Map<Integer,String> map = new HashMap<>();

     map.put(001,"林逸");
     map.put(002,"楚梦瑶");
     map.put(003,"陈雨舒");
     map.put(004,"唐韵");

     Set<Map.Entry<Integer,String>> entries = map.entrySet();
     for (Map.Entry<Integer,String> e : entries) {
         System.out.println(e);
     }

//        System.out.println(map.containsKey(004));
//        System.out.println(map.containsValue("陈雨舒"));

//        System.out.println(map.getOrDefault(001, "ly"));
//        System.out.println(map.getOrDefault(005, "天蝉"));

//        System.out.println(map.get(001));
//        System.out.println(map.get(004));

//        System.out.println(map.size());
//        System.out.println(map.isEmpty());
    }

注意事项:

Set<Map.Entry<K, V>> entrySet( ) 
将所有键值对返回

返回将使用一个 Set<Map.Entry<K, V>> 接收,
实际是存储到了 Map.Entry<K, V> 里面。

可以直接使用 for-each 遍历
for (Map.Entry<String, String> entry : map.entrySet()) {
	System.out.println(entry.getKey());
	System.out.println(entry.getValue());
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值