集合工具类

1、Stack栈操作

栈是一种先进后出的数据结构。类定义:public class Stack<E> extends Vector<E>

Stack是Vector的子类,但它使用的并不是Vector类中的方法,类中方法:

入栈:public E push(E item)

出栈:public E pop()

出栈顺序:先入后出,数据取完时会出现空栈异常。

2、Queue队列

队列是一种先进先出的数据结构。队列的实现可以使用LinkedList子类来完成。Queue接口中方法:

向队列之中追加数据:public boolean offer​(E e),也可以直接使用add()方法

通过队列获取数据:public E poll​()弹出后删除数据

实例化:Queue<String> queue = new LinkedList<String>() ;

通过优先级队列(有比较功能)实例化:Queue<String> queue = new PriorityQueue<String>() ;

3、Properties属性操作

资源文件(*.properties)的存储结构是按照标准"key=value"的形式,这种结构的保存与Map集合很相似,但是区别在于其所保存的内容只能是字符串,为了方便描述属性定义,在java.util包里提供有Properties类,此类是Hashtable的子类。类中方法:

设置属性:public Object setProperty​(String key,String value)

获取属性,key不存在则返回null:public String getProperty​(String key)

获取属性,不存在返回默认值:public String getProperty​(String key,String defaultValue)

输出属性内容:public void store​(OutputStream out,String comments) throws IOException

通过输入流读取属性内容:public void load​(InputStream inStream) throws IOException

Properties里面可以像Map集合那样进行内容的设置与获取,但是与Map集合不同的是Properties类还有一个最重要的功能是它可以通过输出流输出属性,也可以使用输入流读取属性内容。

import java.util.Properties ;
import java.io.File ;
import java.io.FileOutputStream ;
import java.io.FileInputStream ;
public class JavaDemo {
    public static void main(String[] args) {
        Properties prop = new Properties() ;
        //设置属性内容
        prop.setProperty("yiyi","aaa") ;
        //将属性输出到文件中
        prop.store(new FileOutputStream(new File("D" + File.seprarator + "info.properties")),"中文注释会有编码-English") ;
        
        //从文件中读取属性
        prop.load(new FileInputStream(new File("D" + File.seprarator + "info.properties"))) ;
        System.out.println(prop.getProperty("yiyi")) ;
    }
}
4、Collections工具

Conllections是java提供的一组集合数据的操作工具类,即可利用其实现各个集合的操作。

import java.util.ArrayList ;
import java.util.Collections ;
import java.util.List ;
public class JavaDemo {
    public static void main(String[] args) {
        List<String> all = new ArrayList<String>() ;
        Collections.addAll(all,"a","v","s") ;
        Collections.sort(all) ;//先进行排序,再执行二分查找
        System.out.println(all) ;
        System.out.println(Collections.binarySearch(all,"a")) ; //输出结果0
    }
}

【重要】解释Collections与Collection的区别?

Collection是集合接口,允许保存单值对象

Collections是集合操作的工具类

二者没有本质联系。


版权声明:本文为qq_43711904原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。