Java集合类的使用

Java集合类的使用Java集合类Collection,它是一个接口,他有两个子接口List和Map,Collection主要方法booleanadd(Ee);booleanaddAll(Collection<?extendsE>c);booleanremove(Objecto);booleanremoveAll(Collection<?>c);voidclear();intsize();booleanisEmpty();booleancon

大家好,又见面了,我是你们的朋友全栈君。

Java集合类Collection,它是一个接口,他有两个子接口List和Map,Collection主要方法

boolean add(E e);

boolean addAll(Collection<? extends E> c);

boolean remove(Object o);

boolean removeAll(Collection<?> c);

void clear();

int size();

boolean isEmpty();

boolean contains(Object o);

boolean containsAll(Collection<?> c);

Object[] toArray();

boolean equals(Object o);

Iterator<E> iterator();

List在Collection基础上新增的主要方法

boolean retainAll(Collection<?> c); // 取list和c的交集

void replaceAll(UnaryOperator<E> operator); // 如:list.replaceAll(t -> t + 1);

void sort(Comparator<? super E> c); // 参考Arrays.sort

E get(int index); // 获取元素的值

E set(int index, E element); // 设置元素的值

int indexOf(Object o); // 找o的位置

int lastIndexOf(Object o); // 最后一个匹配o的位置

List<E> subList(int fromIndex, int toIndex); // 子集

// ListIterator继承自Iterator
ListIterator<E> listIterator();

Map在Collection基础上新增的主要方法

boolean containsKey(Object key); // 是否包含key

boolean containsValue(Object value); // 是否包含value

V get(Object key); // 获取元素

V put(K key, V value); // 增加元素

void putAll(Map<? extends K, ? extends V> m); // 增加m中所有的元素

Set<K> keySet(); // 获取所有的key

Collection<V> values(); // 获取所有的values

Set<Map.Entry<K, V>> entrySet(); // 

V getOrDefault(Object key, V defaultValue); // 获取key对应的值,默认值为defaultValue

map.forEach((key, value) -> {
     value = value - value * 10/100; // value减少百分之 10
});


map.replaceAll((key, value) -> value.toUpperCase()); // 将所有的值更改为大写

V putIfAbsent(K key, V value); // 如果不存在,则增加数据

V replace(K key, V value); // 替换元素

hashmap.compute(K key, BiFunction remappingFunction); //对 hashMap 中指定 key 的值进行重新计算

// compute举例:重新计算鞋子打了10%折扣后的值
int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142683.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月23日 上午9:00
下一篇 2022年5月23日 上午9:00


相关推荐

  • java中如何进行异常处理_java检查时异常

    java中如何进行异常处理_java检查时异常运行时异常是Java编程语言所有异常的父类,这些异常在发生时会崩溃或崩溃,可能会破坏程序或应用程序。与不被视为运行时异常的异常不同,永远不会检查运行时异常。“运行时异常”通常显示程序员的错误,而不是预期程序要处理的条件。当无法发生的情况时,也会使用运行时异常。应该注意的是,当程序内存不足时,将引发程序错误,而不是将其显示为运行时异常。最常见的运行时异常为NullPointerException,A…

    2022年9月29日
    5
  • 常见计算机病毒种类及特征介绍与分析

    常见计算机病毒种类及特征介绍与分析什么是计算机病毒通俗来讲,计算机病毒是一个程序,一段可执行代码。它可以很快地通过网络、U盘等蔓延,又常常难以根除。它能影响计算机使用,并且具有破坏性,复制性和传染性。病毒又分为很多种类,下面,我就来说说最常见的一些病毒吧!系统病毒系统病毒的前缀为:Win32、PE、Win95、W32、W95等。这些病毒的一般共有的特性是可以感染windows操作系统的*.exe和*.dll

    2022年5月3日
    48
  • SQL Server详细教程

    SQL Server详细教程一 初识 SQLServer1 数据文件与文件组 日志文件数据文件 SQLServer 数据库具有以下 3 种类型的文件 数据文件 用来存放数据 1 主数据文件 一个数据库必须有且只有一个主数据文件 其扩展名为 mdf 2 次数据文件 一个数据库可以没有也可以有多个次数据文件 其扩展名为 ndf 3 事务日志文件 ldf 日志文件为数据库的恢复提供日志信息 每个数据库至少

    2026年3月18日
    1
  • RabbitMQ的优先级队列「建议收藏」

    RabbitMQ的优先级队列「建议收藏」优先级队列队列需要设置优先级队列,消息需要设置消息的优先级。消费者需要等待消息已经发送到队列中,然后对队列中的消息进行排序,最后再去消费。Map<String,Object>arguments=newHashMap<>();arguments.put(“x-max-priority”,10);//设置优先级队列channel.queueDeclare(QUEUE_NAME,false,false,fal

    2026年2月23日
    5
  • 什么是J2EE?[通俗易懂]

    什么是J2EE?[通俗易懂]什么是J2EE?J2EE是一种用来开发分布式企业软件应用系统的平台。JAVA语言从创生之日起,就获得了广泛接纳,经历了巨大的发展。越来越多的技术都成了JAVA平台的一部分,为了适应不同的需要业开发吃了很多全新的API和标准。最终,Sun公司联合了多家业界巨头,在开放的JAVA社区组织名义下,把所有与企业开发相关的标准,API整合起来,构成了J2EE平台。对于企业,J2EE平台由很多优势:

    2022年10月11日
    6
  • NOIP 2012 年普及组初赛试题整理「建议收藏」

    NOIP 2012 年普及组初赛试题整理「建议收藏」问题求解题目答案:5题目解析:贪心法。构造出最坏情况下至多选4点、不在同一条直线上,此时再添加任意一个点,则一定出现3点一线。题目答案:2880题目解析:圆排列问题。5名大陆选手的排列方案数为:5!5名港澳选手安排在大陆选手之间的5个空位的排列方案数为:5!总的排列方案数为:5!×5!。但每位选手左边相邻的选手均相同,为重复方案。最终结果为:阅读程序#include<iostream>usingnamespace..

    2022年8月22日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号