Java 复习 —— 集合数组帮助类

1、集合帮助类

基本就这些了,关键是要了解 Collections 是集合的帮助类,不是数组的帮助类;

1)生成只读的集合实例对象

Collections.singletonList——用来生成只读 的单一元素的List

Collections.singletonMap——用来生成只读 的单Key和Value组成的Map

Collections.singleton——用来生成只读 的单一元素的Set

Collections.unmodifiableList——用来生成只读 的List

Collections.unmodifiableMap——用来生成只读 的Key和Value组成的Map

Collections.unmodifiableSet——用来生成只读的Set

如果查找执行了先关非只读的操作会出现异常:UnsupportedOperationException

2)检查集合元素的类型

checkedCollection,checkedList,checkedMap,checkedSet,checkedSortedMap,checkedSortedSet

如果检查发现元素类型不匹配就会法生ClassCastExceptions异常,虽然Java5中提供泛型的功能,泛型功能能够在代码编译阶段就约束集合中元素的类型,但有些时候声明的集合可能是raw集合(原始类型,也就是没有使用泛型的集合),编译阶段的类型约束就不起作用了,这个时候Checked集合就能起到约束集合中元素类型的作用。

3)同步集合元素

synchronizedXxxxx系列方法会返回同步化集合类(SynchronizedMap, SynchronizedList)。这些集合类内部实现都是通过一个mutex(互斥体)来实现对这些集合操作的同步化。其实就是把一个异步的集合变为

4)集合操作

包括 排序、查找、替换、移位、统计、填充 等

fill—使用指定元素替换指定列表中的所有元素。

frequency—返回指定 collection 中等于指定对象的元素数。

indexOfSubList— 返回指定源列表中第一次出现指定目标列表的起始位置,如果没有出现这样的列表,则返回 -1。

lastIndexOfSubList—返回指定源列表中最后一次出现指定目标列表的位置,如果没有出现这样的列表,则返回-1。

max—— 根据元素的自然顺序,返回给定 collection 的最大元素。

min——根据元素的自然顺序 返回给定 collection 的最小元素。

replaceAll——使用另一个值替换列表中出现的所有某一指定值。

reverse——对List中的元素倒序排列

shuffle——对List中的元素随即排列

sort——对List中的元素排序

swap——交换List中某两个指定下标位元素在集合中的位置。

rotate——循环移动。循环移动这个方法让人比较难以理解,下面的例子就会让你一下子就理解这个方法的含义。

binarySearch——使用二进制搜索算法来搜索指定列表,以获得指定对象。

5)其他操作

addAll——将所有指定元素添加到指定 collection 中。

copy——将所有元素从一个列表复制到另一个列表。

disjoint——如果两个指定 collection 中没有相同的元素,则返回 true。

nCopies——返回由指定对象的 n 个副本组成的不可变列表。

2、数组帮助类

基本就这些了,关键是要了解 Arrays 是数组的帮助类,不是集合的帮助类;

1)给数组赋值

:通过fill方法。

2)对数组排序

:通过sort方法,按升序。

3)比较数组

:通过equals方法比较数组中元素值是否相等。

4)查找数组元素

:通过binarySearch方法能对排序好的数组进行二分查找法操作。

5)把数组转为集合

:通过asList方法,把数组的元素转为集合的元素。

6)把数组以字符串的形式转换

:通过toString方法,本来数组调用toString返回的是类@地址,现在则是打印元素

7)复制数组的元素

:通过 copyOf、copyOfRange负责指定元素的数组

时间: 2024-10-28 04:36:42

Java 复习 —— 集合数组帮助类的相关文章

Java复习-集合

Java的集合大致分为以下几类 map set list queue set代表无序,不可重复的集合 list代表有序,重复的集合 map代表了映射关系的集合 queue代表的是一种队列集合 从上面的图我们可以看出,访问set集合的时候我们只能根据元素本身来访问,访问list集合的时候可以直接根据元素的索引来访问,如果访问map集合中的元素,可以根据每项的key值访问元素,collection是list map queue的父接口,该接口里定义的方法,可以操作set map queue pack

Java学习:数组工具类Arrays

数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组): 将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3...]) public static void sort(数组): 按照默认升序(从小到大)对数组的元素进行排序. 备注:1.如果是数组,sort默认按照升序从小到大2.如果是字符串,sort默认按照字母升序3.如果是自定义的类型,那

Java 复习 —— 集合与数组的转换

前言: 很多时候,你会觉得数组使用方便,有些时候你会觉得集合使用更加方便,你们对于集合和数组的转换那就在所难免了,下面总结一下数组与集合的转换. 1.把数组转为集合 Arrays.asList()  1)网上解释 在使用Arrays.asList()后调用add,remove这些method时出现 java.lang.UnsupportedOperationException 异常.这是由于Arrays.asList() 返回java.util.Arrays$ArrayList, 而不是Arra

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员---java基础---集合框架工具类:Collections和Arrays

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------        Collections 一.概述 Collections是对集合框架的一个工具类.它里边的方法都是静态的,不需要创建对象.并未封装特有数据. 在Collections工具类中大部分方法是用于对List集合进行操作的,如比较,二

Java 复习 —— 集合

1.类的基本结构 Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└Set |-HashSet |-TreeSet Map├Hashtable├HashMap└WeakHashMap 2.基本概念 0)Collection : 顶层接口,它都支持一个iterator()的方法,该方法返回一个迭代子,使用该迭代子即可逐一访问Collection中每一个元素.public interface Collection<E> extends I

Java复习笔记1--抽象类和接口

这一系列是今年7月份至8月份为实习面试所复习的Java功课~ 抽象类和接口 是Java 对抽象概念进行定义的2种机制. 抽象类 一个类没有足够的信息来描述一个具体的对象,需要其他具体的类才支撑它. 抽象类体现了数据抽象的四小,是实现多态的一种机制. 它定义了一组抽象的方法,至于这组抽象方法的具体表现形式有派生类来实现.同时抽象类提供了继承的概念,它的出发点就是为了继承,否则它没有存在的任何意义.所以说定义的抽象类一定是用来继承的,同时在一个以抽象类为节点的继承关系等级链中,叶子节点一定是具体的实

Java复习2-对象与类

回顾基础知识过程中遇到的感觉需要记录一下的知识点. 封装 我们设计的class应当尽可能的高内聚,体现为封装的程度.一个class的属性应该只能自己修改,其他class都只是与本class沟通,而不应该有能力修改.比较常见的一个问题是Date属性. 业务开发中经常需要设计class的日期属性,比如birthday, createDate等. public class User { private String name; private Date birth; public Date getBi

Java之集合框架vector类设计原理