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


相关推荐

  • python写入txt操作

    python写入txt操作第一种file=open(r’C:\Users\Administrator\Desktop\test.txt’,mode=‘a’,encoding=‘utf-8’)file.write(username+’,’+password+’\n’)上面加粗的r表示不使用转义字符(\)的意思,才能够正常使用地址。第二个a是追加,在第二次写入txt文本的时候不会删除原来的写入的内容,而w虽然也是写入,但是会删除原来写入的内容,如果没有文本w还会自动生成文本。file.write(username+’,

    2022年10月2日
  • Android MVP+RxJava+Retrofit (3) MVP+RxJava+Retrofit

    Android MVP+RxJava+Retrofit (3) MVP+RxJava+Retrofit

    2021年3月12日
  • APK 签名详解

    APK 签名详解1.签名的意义  为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的PackageName来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性。2.签名对你的App的影响。   你不可能只做一个APP,你可能有一个宏伟的战略工程,想要在生活,服务,游戏,系统各个领域都想插足的话,你不可能只做一个APP,谷歌建议你把你所有的

    2022年6月5日
  • 至尊问题「建议收藏」

    称号:已知m、n为整数,且满足下列两个条件:① m、n∈1,2,…,K,(1≤K≤10^9)② (n^ 2-mn-m^2)^2=1编一程序,对给定K,求一组满足上述两个条件的m、n,而且使m^2+n^2的值最大。比如,若K=1995,则m=987,n=1597,则m、n满足条件,且可使m^2+n^2的值最大。输入输入仅一行,K的值。输出…

    2022年4月13日
  • Java 内存模型

    Java 内存模型

    2022年3月3日
  • Nginx负载均衡算法分析[通俗易懂]

    Nginx负载均衡算法分析[通俗易懂]随着互联网信息的爆炸性增长,负载均衡(loadbalance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲(如F5BIG-IP、CitrixNetScaler、Radware等等,虽然可以解决问题

    2022年10月12日

发表回复

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

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