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是集合操作的工具类
二者没有本质联系。