JavaDS--集合框架、 interface接口、实现类classes

Java集合框架

java集合框架:Java collection framework,又称为容器,是定义在java.util包下的一组接口interface和其实现类classes
在这里插入图片描述
Java 集合框架的优点及作用:

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

数据结构:
1.线性结构(顺序结构,链式结构)
2.树形结构:例如二叉树,一对多
3.图形结构:多对多

interface接口

在这里插入图片描述

1.collection:用来存储管理一组对象objects,这些对象一般被称为元素

  • Set : 元素不能重复,背后隐含着查找/搜索的语义
  • SortedSet : 一组有序的不能重复的元素
  • List : 线性结构
  • Queue : 队列
  • Deque : 双端队列
    collection接口常用方法:
方法签名说明
boolean add(E e)将元素e放入集合中
void clear()删除集合中的所有元素
boolean isEmpty()判断集合是否没有任何元素,俗称空集合
boolean remove(object e)如果元素e出现在集合中,删除其中一个
int size()返回集合中元素的个数
object[] toArray()返回一个装有所有集合中元素的数组
        public static void main(String[] args) {
         Collection<String> c = new ArrayList<>();
        
        System.out.println(c.isEmpty());

        c.add("C 语言");
        c.add("Java SE");
        c.add("数据结构");
        System.out.println(c.size());
        System.out.println(c.isEmpty());
        System.out.println(c);

        c.remove("数据结构");
        System.out.println(c);
    }

运行结果:
true
3
false
[C 语言, Java SE, 数据结构]
[C 语言, Java SE]

在这里插入图片描述
2.Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义

  • SortedMap : 一组有序的键值对
    树形结构:二叉树
    哈希结构:哈希
方法签名说明
V get(obje k)根据指定的K查找对应的v
V getordefault(obje k,v defaultvalue)根据指定的K查找对应的v,没有找到用默认值代替
V put(k key ,v value)将指定的k-v放入Map
boolean containskey(object key)判断是否包含key
boolean containsvalue(object value)判断是否包含value
boolean isEmpty()判断是否为空
int size()返回集合中元素的个数
    public static void main(String[] args) {
        Map<String, String> m = new HashMap<>();
        m.put("apple", "苹果");
        m.put("orange", "橘子");
        m.put("banana", "香蕉");
        System.out.println(m.size());
        System.out.println(m.get("orange"));

        String str1 = m.getOrDefault("apple", "苹果果");
        String str2 = m.getOrDefault("pear", "梨");

        System.out.println(str1);
        System.out.println(str2);
        System.out.println(m.containsKey("pear"));
        System.out.println(m.containsKey("orange"));

        System.out.println(m.containsValue("梨"));
        System.out.println(m.containsValue("橘子"));

        for(Map.Entry<String, String> e : m.entrySet())
        {
            System.out.println(e.getKey() + "--->" + e.getValue());
        }
        m.clear();
        System.out.println(m.size());
    }
运行结果:
3
橘子
苹果
梨
false
true
false
true
orange--->橘子
banana--->香蕉
apple--->苹果
0

实现类classes

interface顺序表链表红黑数哈希表
Set TreeSetHashSet
ListArrayListLinkedList
QueueLinkedList PriorityQueue
DequeLinkedList
Map TreeMapHashMap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值