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


相关推荐

  • 即梦的文字效果增强功能给图片添加文字特效

    即梦的文字效果增强功能给图片添加文字特效

    2026年3月13日
    4
  • 理解 Spring ApplicationListener

    理解 Spring ApplicationListener      ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件处理。 如果容器中有一个ApplicationListenerBean,每当ApplicationContext发布ApplicationEvent时,ApplicationListen…

    2025年7月27日
    7
  • SQL Server numeric数据类型

    SQL Server numeric数据类型Numeric 10 2 指字段是数字型 长度为 10 小数为两位的简要描述一下 SQL 中的五种数据类型 字符型 文本型 数值型 逻辑型和日期型字符型 VARCHARVSCHA 型和 CHAR 型数据的这个差别是细微的 但是非常重要 他们都是用来储存字符串长度小于 255 的字符 假如你向一个长度为四十个字符的 VARCHAR 型字段中输入数据 BillGates

    2026年3月20日
    1
  • arm和x86对比_arm和intel关系

    arm和x86对比_arm和intel关系信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构么?这两者的区别又是什么?绝大多数的人肯定是一脸懵逼。今天小编就带你深入了解CPU的这两大架构:ARM和X86。以后出去装X就靠它了! ##重温下CPU是什么鬼##  中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发

    2022年10月14日
    5
  • 初始java数组_初始化数组为0

    初始java数组_初始化数组为01.初始化定义2.数组的三种打印方式3.数组引用null4.浅谈引用变量的影响5.与数组相关的字符串操作以及javaJVM内存简单介绍6.浅谈二维数组与C的区别

    2022年10月21日
    3
  • 什么是分区容错性?[通俗易懂]

    什么是分区容错性?[通俗易懂]这个回答我觉得一个知乎上的老哥说的特别好,我把他的话引用过来。原回答地址:https://www.zhihu.com/question/54105974一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点.

    2022年7月25日
    14

发表回复

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

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