標籤:java collections properities
Properties類
import java.io.FileReader;import java.util.Enumeration;import java.util.Properties;/* * Properties類,索引值對集合,是Hashtable的子類 * 但只能儲存字串索引值對 */public class Test07{ public static void main(String[] args) throws Exception { test1(); test2(); } // Properties基本用法 public static void test1() { // 建立一個Properties屬性集合 Properties p = new Properties(); // 添加屬性和屬性值 p.setProperty("username", "tom"); p.setProperty("sex", "男"); p.setProperty("hobby", "學習Java編程"); // 根據屬性名稱擷取屬性值 String hobby = p.getProperty("hobby"); System.out.println("hobby:" + hobby); // 遍曆Properties集合 System.out.println("******遍曆Properties集合"); Enumeration e = p.propertyNames();// 擷取屬性名稱的枚舉執行個體 while (e.hasMoreElements()) { String key = (String) e.nextElement(); String value = p.getProperty(key); // String value=(String) p.get(key); System.out.println(key + ":" + value); } System.out.println(p); } // 查看系統屬性 public static void test2() { // 擷取系統的屬性 Properties p = System.getProperties(); // 遍曆輸出系統屬性資訊 Enumeration e = p.propertyNames(); while (e.hasMoreElements()) { String key = (String) e.nextElement(); String value = p.getProperty(key); System.out.println(key + ":" + value); } } // 負載檔案中的屬性資訊 public static void test3() throws Exception { //建立檔案輸入資料流 FileReader reader = new FileReader("student.properties"); //建立一個Properties集合,儲存屬性資訊 Properties p=new Properties(); //使用load()方法載入屬性檔案 p.load(reader); System.out.println(p); }}
運行如下:
hobby:學習Java編程
******遍曆Properties集合
sex:男
hobby:學習Java編程
username:tom
{hobby=學習Java編程, sex=男, username=tom}
java.runtime.name:Java(TM) SE Runtime Environment
sun.boot.library.path:D:\Program Files (x86)\Java\jdk1.8.0_25\bin
java.vm.version:25.25-b02
java.vm.vendor:Oracle Corporation
java.vendor.url:http://java.oracle.com/
path.separator:;
java.vm.name:Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg:sun.io
user.script:
user.country:CN
sun.java.launcher:SUN_STANDARD
sun.os.patch.level:Service Pack 1
java.vm.specification.name:Java Virtual Machine Specification
user.dir:E:\workspace\Study
java.runtime.version:1.8.0_25-b18
java.awt.graphicsenv:sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs:D:\Program Files (x86)\Java\jdk1.8.0_25\lib\endorsed
os.arch:amd64
java.io.tmpdir:C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator:
java.vm.specification.vendor:Oracle Corporation
user.variant:
os.name:Windows 7
sun.jnu.encoding:GBK
java.library.path:D:\Program Files (x86)\Java\jdk1.8.0_25\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32;H:\安卓開發\sdk\platform-tools;.
java.specification.name:Java Platform API Specification
java.class.version:52.0
sun.management.compiler:HotSpot 64-Bit Tiered Compilers
os.version:6.1
user.home:C:\Users\Administrator
user.timezone:
java.awt.printerjob:sun.awt.windows.WPrinterJob
file.encoding:GBK
java.specification.version:1.8
user.name:Administrator
java.class.path:E:\workspace\Study\bin;C:\Users\Administrator\Desktop\HanziToPinyinTest\libs\pinyin4j-2.5.0.jar
java.vm.specification.version:1.8
sun.arch.data.model:64
java.home:D:\Program Files (x86)\Java\jdk1.8.0_25
sun.java.command:Test07
java.specification.vendor:Oracle Corporation
user.language:zh
awt.toolkit:sun.awt.windows.WToolkit
java.vm.info:mixed mode
java.version:1.8.0_25
java.ext.dirs:D:\Program Files (x86)\Java\jdk1.8.0_25\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path:D:\Program Files (x86)\Java\jdk1.8.0_25\lib\resources.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\lib\rt.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\lib\sunrsasign.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\lib\jsse.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\lib\jce.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\lib\charsets.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\lib\jfr.jar;D:\Program Files (x86)\Java\jdk1.8.0_25\classes
java.vendor:Oracle Corporation
file.separator:\
java.vendor.url.bug:http://bugreport.sun.com/bugreport/
sun.cpu.endian:little
sun.io.unicode.encoding:UnicodeLittle
sun.desktop:windows
sun.cpu.isalist:amd64
Collections工具類
import java.util.ArrayList;import java.util.Collections;import java.util.List;/* * Collections工具類,用來操作集合 * 對比Arrays工具類,用來運算元組 */public class Test01{ public static void main(String[] args) { // 建立集合 List list = new ArrayList(); // 向集合中添加資料 list.add("i"); list.add("love"); list.add("you"); list.add("itany"); list.add("welcome"); list.add("to"); list.add("itany"); //輸出集合中的最大值和最小值 System.out.println("最大值:"+Collections.max(list)); System.out.println("最小值:"+Collections.min(list)); //按升序排列 System.out.println("排序前:"+list); Collections.sort(list); System.out.println("排序後:"+list); //把集合順序反轉,即降序 //Collections.reverse(list); //System.out.println("降序:"+list); //二分尋找 int index=Collections.binarySearch(list, "to"); System.out.println("to在集合中的位置:"+index); }}
運行執行個體如下:
最大值:you
最小值:i
排序前:[i, love, you, itany, welcome, to, itany]
排序後:[i, itany, itany, love, to, welcome, you]
to在集合中的位置:4
正好分析一下Collection和Collections的區別:
1、java.util.Collection 是一個
集合介面(集合類的一個頂級介面)。它提供了對集合對象進行基本操作的通用介面方法。Collection介面在Java 類庫中有很多具體的實現。Collection介面的意義是為各種具體的集合提供了最大化的統一操作方式,其直接繼承介面有List與Set。 Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set 2、java.util.Collections 是一個封裝類(工具類/協助類)。它包含有各種有關集合操作的
靜態多態方法。此類
不能執行個體化,就像一
個工具類,用於對集合中元素進行排序、搜尋以及安全執行緒等各種操作,服務於Java的Collection架構。
JAVA-Properties類和Collections工具類