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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何更改linux文件目录拥有者及用户组

    如何更改linux文件目录拥有者及用户组

    2021年10月19日
    59
  • JDK安装包和Mysql安装包整理

    肯定有许多许多小伙伴在找jdk和MySQL这些东西的安装包,去官网下载有特别慢,所以想在网上找一下,来吧,看完总有一款是你喜欢的。。。。JDK安装包jdk-7u80-windows-x64.exe(jdk1.7win64位)jdk-7u80-windows-x86.exe(jdk1.7win32位)jdk-7u80-linux-i586.tar.gz(jdk1.7Li…

    2022年4月8日
    395
  • Matlab plot绘图颜色详解

    Matlab plot绘图颜色详解转自:https://blog.csdn.net/jirryzhang/article/details/77374702MATLABplot画线的颜色设定plot中画线的颜色通常是八种:标记符颜色r红g绿b蓝c蓝绿m紫红y…

    2022年5月16日
    346
  • css后代选择器_什么是后代选择器并举例说明

    css后代选择器_什么是后代选择器并举例说明后代选择器集中形式:1.父代*{}从父代中的找到所有子代。2.父代子代1{}是从父代中找到子代1或者父代子代2{}是从父代中找到子代2。3.父代子代1子代

    2022年8月3日
    7
  • 软件工程期末考试题库(超全)[通俗易懂]

    软件工程期末考试题库(超全)[通俗易懂]软件工程期末考试题库选择题具有风险分析的软件生命周期模型是(  C   )。A.瀑布模型      B.喷泉模型  C.螺旋模型        D.增量模型软件工程的基本要素包括方法、工具和(A)。A. 过程        B. 软件系统   C. 硬件环境         D. 人员软件的复杂性是( A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A. 固有的         B. 人为的   C. 可消除的         D. 不可降低的在结

    2022年5月5日
    54
  • 【C#】创建、解析 xml 文件(XmlDocument 方式)

    【C#】创建、解析 xml 文件(XmlDocument 方式)前言本文使用System.Xml中的XmlDocument解析xml格式的文件。另外,由于我是粗略的看了下官方文档和一些博客,可能会有许多错误的地方,望指出。官方文档:https://docs.microsoft.com/zh-cn/dotnet/api/system.xml.xmldocument?view=netframework-4.8文章时间:写于2019-7-17…

    2022年6月19日
    26

发表回复

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

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