当前位置: 首页 > news >正文

250214-java类集框架

单列集合是list和set,list的实现类有ArrayList和LinkedList,前者是数组实现,后者是链表实现。list和set,前者有序、可重复,后者无序不可重复。

1.单列集合

1.1. list

java.util.List接口继承自Collection接口,它的实现类包括ArrayList、LinkedList、Vector等

list接口的方法比如下面:

实例如下:

import java.util.ArrayList;
import java.util.List;
public class ListDemo
{public static void main(String[] args){List<Integer> a=new ArrayList<Integer>();System.out.println("在集合尾部添加指定元素");a.add(1);a.add(2);System.out.println(a);}
} 
//输出结果:在集合尾部添加指定元素
//[1, 2]

 见第七行的List<Integer> a=new ArrayList<Integer>();这其实是子类的向上转型,当然也可以不用转型,直接ArrayList<Integer> a=new ArrayList<Integer>()这样,都可以。前者呢,优点是变量a可以引用任何list实现类的对象,比如LinkedList、Vector的对象,而不需要修改变量声明的类型,例如

a = new LinkedList<Integer>();

 后者呢,变量a不仅可以调用父类的方法,还可以调用子类独有的方法。

明白了list接口的使用,那么list的实现类ArrayList、LinkedList、Vector等也差不多会用了。

1.2. set

java.util.Set接口同样继承自Collection接口,Set接口不同于List接口,它是抽象接口;它的实现类包括java.util.HashSet和java.util.LinkedHashSet等。

import java.util.HashSet;
public class SetDemo
{public static void main(String[] args){HashSet<Integer> a=new HashSet<Integer>();a.add(12);a.add(12);a.add(34);System.out.print(a);}
}
//输出结果:[34, 12]

输入两个12,但是最终集合里只有一个12,说明自动过滤掉重复元素。 

2.双列集合

map(映射)

java.util.Map,Map不同于List接口,它也是抽象接口;map接口的对象是键值对、关键字和值都是对象,关键字是唯一的,可以存相同的值,如果反复插入关键字,则新的替换旧的;

map的接口方法:

  • put(K key, V value):添加键值对。

  • get(Object key):通过键获取值。

  • remove(Object key):删除指定键的键值对。

  • containsKey(Object key):判断是否包含某键。

  • keySet():返回所有键的集合(Set<K>)。

  • values():返回所有值的集合(Collection<V>)。

  • entrySet():返回所有键值对的集合(Set<Entry<K, V>>)。

import java.util.Map;
import java.util.HashMap;
public class MapDemo
{public static void main(String[] args){Map<String,Integer> a=new HashMap<>();a.put("小明",12);System.out.print(a);}
}
//输出结果:{小明=12}

 

 

http://www.lryc.cn/news/537409.html

相关文章:

  • 二叉树(C语言版)
  • ASP.NET Core 面试宝典【刷题系列】
  • 案例-02.部门管理-查询
  • src和href区别
  • Java每日精进·45天挑战·Day19
  • 区块链的交易管理和共识机制
  • 最新国内 ChatGPT Plus/Pro 获取教程
  • Apollo 9.0 速度动态规划决策算法 – path time heuristic optimizer
  • Apache Iceberg 与 Apache Hudi:数据湖领域的双雄对决
  • 【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数
  • 共享存储-一步一步部署ceph分布式文件系统
  • 19.Python实战:实现对博客文章的点赞系统
  • 【stm32】定时器输出PWM波形(hal库)
  • 当Ollama遇上划词翻译:我的Windows本地AI服务搭建日记
  • Linux上Elasticsearch 集群部署指南
  • 字节Trae使用感想(后端)
  • 国产编辑器EverEdit - 二进制模式下观察Window/Linux/MacOs换行符差异
  • 文心一言4月起全面免费,6月底开源新模型:AI竞争进入新阶段?
  • 解锁机器学习算法 | 线性回归:机器学习的基石
  • 如何使用Three.js制作3D月球与星空效果
  • SQL语句语法
  • github上文件过大无法推送问题
  • 微信小程序的请求函数封装(ts版本,uniapp开发)
  • Visual Studio Code支持WSL,直接修改linux/ubuntu中的文件
  • openAI最新o1模型 推理能力上表现出色 准确性方面提升 API如何接入?
  • GC 基础入门
  • Go语言协程Goroutine高级用法(一)
  • DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件
  • 【鸿蒙HarmonyOS Next实战开发】lottie动画库
  • PAT乙级真题 — 1084 外观数列(java)