集合数组工具类与常用系统API
来源:互联网 发布:java 二叉树容器 编辑:程序博客网 时间:2024/04/27 16:19
集合工具类
Collections类为集合工具类,没有提供构造函数,只对外提供静态成员方法,用于对各种集合提供扩展功能。
//将指定的多个元素添加到参数1指定的Collection集合中,多个元素可以以可变参数,也可以是一个数组。public static <T> boolean addAll(Collection<? super T> c, T... elements)//对一个已经排序的List集合折半查找,该集合内元素必需实现于Comparable。public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)//同上,但可以在查找过程中使用指定的自定义比较器。public static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)//将src集合覆盖到dest集合,需要保证dest集合的元素不小于src,否则报索引越界异常。public static <T> void copy(List<? super T> dest, List<? extends T> src)//判断两个集合中是否有相同元素public static boolean disjoint(Collection<?> c1, Collection<?> c2)//使用指定元素替换掉集合中的所有元素public static <T> void fill(List<? super T> list, T obj)//查询集合中包含指定元素的数量public static int frequency(Collection<?> c, Object o)//排序List集合内的元素,需要元素自身具备比较性。public static <T extends Comparable<? super T>> void sort(List<T> list)//同上,但可以在比较过程中使用自定义的比较器public static <T> void sort(List<T> list, Comparator<? super T> c)//获取集合中的最大元素,元素自身需要具备比较性,或使用重载方法指定一比较器public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)//获取集合中的最小元素,元素自身需要具备比较性,或使用重载方法指定一比较器public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)//将集合中的所有指定元素替换为新的元素public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)//重新打乱该集合内的排序顺序,这东西写游戏应该挺有用哈哈public static void shuffle(List<?> list)//功能同上,但可以指定一个随机数public static void shuffle(List<?> list, Random rnd)//反转一个集合中的所有元素顺序public static void reverse(List<?> list)//将原集合中元素的比较方法强行逆转然后转为一个比较器返回。适用于构造集合时public static <T> Comparator<T> reverseOrder()//将一个比较器的比较方法强行逆转,返回一个新的比较器public static <T> Comparator<T> reverseOrder(Comparator<T> cmp)//根据索引交换一个List集合中的两个元素的位置public static void swap(List<?> list,int i, int j)//将一个线程不同步集合封装同步功能,由此可见Hashtable与Vector已经几乎不再使用。public static <T> List<T> synchronizedList(List<T> list)public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)public static <T> Set<T> synchronizedSet(Set<T> s)//返回一个常量状态的原集合复本public static <T> List<T> unmodifiableList(List<? extends T> list)public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)4public static <T> Set<T> unmodifiableSet(Set<? extends T> s)
数组工具类
Arrays 是专门为数组提供的工具类,该类内更多的是一些被重载的方法,用于对数组的各种操作。如:
以下方法重载了多种基本数据
public static int binarySearch(byte[] a, byte key) //二分查找方法,并且提供了可以指定查找范围的重载方法。//将一个数组复制到一个新的数组中,并且可以设定新数组的长度,返回该新数组。public static boolean[] copyOf(boolean[] original, int newLength) //复制一个数组的指定范围到一个新的数组中,返回这个新数组public static boolean[] copyOfRange(boolean[] original, int from, int to) public static boolean equals(boolean[] a, boolean[] a2) //比较两个数组的内容public static int hashCode(boolean[] a) //返回一个数组内容组成的Hash值public static void sort(byte[] a) //排序数组public static String toString(boolean[] a) //将数组内容组合成字符串返回//将数组中的所有元素使用新元素替换,并且提供了可以指定替换范围的重载方法public static void fill(boolean[] a,boolean val)
没有重载的方法
//数组的深层次比较,不单比较数组内容,并且如果数组中存放的是引用同时比较引用指向的对象的内容public static boolean deepEquals(Object[] a1, Object[] a2) //将数组映射到List集合中,此方法是连接collection到数组之间的桥梁,public static <T> List<T> asList(T... a)
将数组转为集合并且是复制,而是将原数组中的元素逐一映射到集合中去,所以不能添加和删除,修改List元素即是修改原数组内容。而asList方法可以接收一个数组名,也可以接收多个参数被视为一个数组,所以如果传递的参数是基本数据类型的数组,那么该方法会将这个数组视为一个元素,而不是一个数组。
常用的一些系统API,Java封装了系统的API函数,并以更简单的方法提供给程序员使用,操作方便更直观。
Systemo类
public static Properties getProperties() //方法可以获取本机的系统信息。public static String getProperty(String key) //获取本机系统信息指定的值public static String setProperty(String key,String value)//设置本机的一个系统信息public static int identityHashCode(Object x) //获取对象的默认Hash值,哈哈用这个可以测试内存地址了public static long nanoTime() //计时器来了public static long currentTimeMillis() //获取当前时间public static void exit(int status) //终止当前正在运行的虚拟机
Properties该类继承自Hashtable,专门为配置文件提供了一组功能。
public String getProperty(String key) //根据键获取一个值public void list(PrintStream out) //将对象关联一个输出流,将当前Properties对象的属性列表输出到流中。public void load(InputStream inStream) //关联一个输入流,将流中键值对信息设置到当前Properties属性列表中。public void loadFromXML(InputStream in) //专用加载XML文件信息public Object setProperty(String key, String value) //根据键设置一个值 public void store(OutputStream out, String comments) //同list作用基本一样,可以添加注释信息 public Set<String> stringPropertyNames() //将Properties集合中的键转成Set集合
Properties使用示例:
类加载器类ClassLoader的public InputStream getResourceAsStream(String name)方法可以通过指定一个字符串形式的文件路径加载一个文件,返回一个字节输入流。通过该流可以方便的读取文件内容。如:
//获取main函数所在类的Class实例对象,Class cla = MyClass.class;//调用它的getResourceAsStream指定一个文件名,返回该文件的输读取流对象。该文件必须与MyClass类的class文件同目录InputStream is = cla.getResourceAsStream("config.properties");//创建一个配置文件专用的双列集合类对象Properties props = new Properties();//将流中数据加载到集合中props.load(is);//关闭文件流is.close();//获取已经被装入集合中的配置文件键值对信息String className = props.getProperty("className");
Runtime类
public int availableProcessors() // 可用处理器的数目public long freeMemory() // 虚拟机可用内存空间public long totalMemory() // 虚拟机的内存总量public Process exec(String command)// 启动子进程来了,也太省事了,就是没句柄可以用了有点束缚感啊
DateFormat,Calendar,TimeZone 日期时间的操作和格式化类
Math 数学运算类 Random随机数类
URL类
很牛B的一个类,内置封装了Socket的同时还有http协议。
可以直接将一个URL地址以字符串形式封装进URL对象,如URL url = new URL(http://127.0.0.1)。之后调用他的openConnection方法即可直接与该服务器建立连接。如 URLConnection connUrl = url.openConnection()。
其后通过 connUrl.getOutputStream connUrl.getInputStream方法拿到与该服务器之间的网络流对象。通过读写流对象与服务器交互信息。而且 URLConnection 内部会对http协议消息头做处理。
- 集合数组工具类与常用系统API
- 19-集合框架工具类-13-常用对象API(集合框架-工具类-Collections-排序)
- 19-集合框架工具类-17-常用对象API(集合框架-工具类-Arrays-方法介绍)
- 19-集合框架工具类-18-常用对象API(集合框架-工具类-Arrays-asList方法)
- 数组、集合工具类
- 19-集合框架工具类-20-常用对象API(集合框架-JDK5.0特性-ForEach循环)
- 4.3常用对象API-集合框架(Collection,Map,泛型,集合工具类)
- android工具集合与api参考
- android工具集合与api参考
- 黑马程序员-day17-集合与数组工具类
- 18-常用对象API(集合框架-工具类-Arrays-asList方法)1 2 3 19-常用对象API(集合框架-工具类-Collection-toArray方法).1 2
- 19-集合框架工具类-16-常用对象API(集合框架-工具类-Collections-其他方法&将非同步集合转成同步集合的方法)
- #Java常用类库#(4)数组与集合类
- JavaSe基础XX17——常用对象API-集合框架_5_ 工具类
- 鸟哥Java学习之集合框架工具类--常用对象API
- 16-常用对象API(集合框架-工具类-Collections-其他方法&将非同步集合转成同步集合的方法) 17-常用对象API(集合框架-工具类-Arrays-方法介绍)_20171202
- 黑马程序员_java集合(2) 泛型&数组与集合工具类
- Android 工具集合类库 API
- 可以看看的国外网站
- delphi 文件的读取
- 黑马程序员_控制台应用程序中判断用户是否登录成功
- 关于std::string与Format
- V-World开源项目
- 集合数组工具类与常用系统API
- 推荐使用apache Tomee做开发分布式应用服务器
- Linux 内核介绍一
- Hibernate之@Id详解
- 【移动互联网】零售业借助移动互联网实现突围
- linux下使用kermit和dnw烧写程序
- 判断闰年平年
- 点击图片随机移动位置
- Hibernate多种数据库的连接方言