JAVA-Properties类和Collections工具类

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框架。

时间: 2024-08-25 04:59:41

JAVA-Properties类和Collections工具类的相关文章

Java集合框架:Collections工具类

java.util.Collections工具类提供很多有用的方法,使得程序猿操作集合类的时候更加的方便容易,这些方法都是静态的.整个Collections工具类源码差不多有4000行,我们针对一些典型的方法进行阐述. 1. 调用一个空List,Set,Map public static final List EMPTY_LIST = new EmptyList<>(); public static final Map EMPTY_MAP = new EmptyMap<>(); p

Java:集合,Collections工具类用法

参考: http://www.cnblogs.com/nayitian/p/3269585.html public static void main(String[] args) { // TODO Auto-generated method stub List<Integer> pokerList = new ArrayList<Integer>(); pokerList.add(13); pokerList.add(14); pokerList.add(3); System.o

JAVA Collections工具类sort()排序方法

主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static <T extends Comparable<? super T>> void sort(List<T> list) 说明:该方法中的泛型<T>都是Comparable接口的子类,即只有是Comparable接口子类类型的数据,才能进行比较排序.如果其他类型的数据要进行比较排序,必须继承Co

9.9-全栈Java笔记:遍历集合的N种方式总结&Collections工具类

遍历集合的N种方式总结 [示例1]遍历List方法1,使用普通for循环 for(int i=0;i<list.size();i++){         //list为集合的对象名 String temp = (String)list.get(i); System.out.println(temp); } [示例2]遍历List方法2,使用增强for循环(使用泛型定义类型!) for (String   temp : list) { System.out.println(temp); } [示例

Java中自定义对象使用Collections工具类中的Sort方法

Collections工具类中的sort方法有两种形式: (1) sort(List<T> list) (2) sort(List<T> list, Comparator<? super T> c) 第一种方法中List类型的对象必须实现Comparable接口,此外,List中的元素必须可比较. 我们先定义类 package com.dongye.sort; import java.util.ArrayList; import java.util.Collection

day07(Set接口,HashSet类,hashcoad(),Collections工具类,Map集合)

Set接口 set接口的实现类特点 1.无序(取出来的顺序和存进去的数据的顺序不一致) 2.唯一(数据不能存相同的) 底层是用Map集合写的 HashSet类  实现了  set接口       唯一性  public class HashSetTest { public static void main(String[] args) { HashSet<String> hs=new HashSet<String>(); hs.add("hello"); hs.

TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小.TreeMap要求存放的键值对映射的键必须实现Comparable接口从而根据键对元素进行排序.Collections工具类的sort方法有两种重载的形式,第一种要求传入的待排序容器中存放的对象比较实现Comparable接口以实现元素的比较:第二种不强制性的要求容器中的元素必须可比较,但是要求传入第二个参数,参数是Comparator接

JAVA 16(集合框架工具类)

Collections :工具类,专门对集合进行操作的.所有方法都是静态的,构造方法是私有的,不可以创建对象,通过Collections.xxx();调用工具类中的方法. 1, Collections.sort(); //对集合进行排序,List可以,Set不可以,因为有自动排序的TreeSet,其实是调用对象的Compare方法,如果想要排序自定义对象, sort后面要传入比较器. Collections.sort(list,new Strlen()); 下面有举例说明 2, Collecti

java实现发邮件的工具类,方便 好用(需要架包的Send Email To me)

原文:java实现发邮件的工具类,方便 好用(需要架包的Send Email To me) 源代码下载地址:http://www.zuidaima.com/share/1550463394794496.htm package com.zuidaima.util; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; impor