关键词搜索

源码搜索 ×
×

(Java)其他集合类

发布2020-02-17浏览446次

详情内容

一、Stack 类

栈是采用先进后出的数据存储方式,每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出:
在这里插入图片描述
在浏览器中存在一个后退按钮,每次后退都是后退到上一步的操作,这就是一个栈的应用,采用的是先进后出的操作

Java 中使用 Stack 类进行栈的操作,Stack 类是 Vector 的子类,Stack 类的定义:

public class Stack<E> extends Vector<E>

    Stack 类的常用方法:

    在这里插入图片描述

    import java.util.Stack;
    
    public class Test{
        public static void main(String[] args) {
            Stack<String> s = new Stack<String >();//实例化 Stack 对象
            s.push("A");
            s.push("B");
            s.push("C");
            System.out.print(s.pop() + "、");//出栈
            System.out.print(s.pop() + "、");
            System.out.print(s.pop() + "、");
            System.out.print(s.pop() + "、");//错误,栈为空时出栈异常
        }
    }
    
      2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    二、属性类:Properties

    1. Properties 类简介

    在一个属性文件中保存了多个属性,每一个属性就是直接用字符串表示出来的“key=value对”,而如果要轻松地操作这些类属性文件中的属性,可以通过 Properties 类方便地完成。

    通过 “key=value” 形式保存的文件就是属性文件

    Properties 类的定义:

    public class Properties extends Hashtable<Object,Object>
    

      Properties 类的主要方法:
      在这里插入图片描述

      XML(eXtensible Markup Language,可扩展的标记性语言)是在现在开发中使用最广泛的一门语言,所有的属性可以通过 storeToXML() 和 loadFormXML() 两个方法以 XML we年格式进行保存和读取,但是使用 XML 格式保存时将按照指定的文档格式进行存放,如果格式出错,将无法读取

      2. Properties 操作实例

      (1)实例操作一:设置和取得属性
      可以使用 setProperty() 和 getProperty() 方法设置和取得属性,操作时要以 String 为操作类型。

      import java.util.Properties;
      
      public class Root{
          public static void main(String[] args) {
              Properties pro = new Properties();//创建 Properties 对象
              pro.setProperty("1","J1");
              pro.setProperty("https://files.jxasp.com/image/2","J2");
              pro.setProperty("3","J3");
              System.out.println("1 属性存在:" + pro.getProperty("1"));
              System.out.println("https://files.jxasp.com/image/2 属性存在:" + pro.getProperty("https://files.jxasp.com/image/2"));
              System.out.println("4 属性不存在,同时设置显示的默认值:" + pro.getProperty("4","没有发现"));
          }
      }
      
        2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

      在这里插入图片描述
      (2)实例操作二:将属性保存在普通文件中
      正常属性类操作完成后,可以将其内容保存在文件中,可以直接使用 sote() 方法即可,同时指定 OutputStream 类型,指明输出的位置。属性文件的后缀是任意的,但是最好按照标准,将属性文件的后缀统一设置成 “.properties

      public class Test{
          public static void main(String[] args) {
              Properties pro = new Properties();
              pro.setProperty("A","Java");
              pro.setProperty("B","Python");
              pro.setProperty("C","C++");
      //        设置属性文件的保存路径
              File file = new File("D:" + File.separator + "area.properties");
              try{//保存属性到普通文件中,并设置注释内容
                  pro.store(new FileOutputStream(file),"Area Info");
              }catch (Exception e){
                  e.printStackTrace();
              }
          }
      }
      
        2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15

      在这里插入图片描述
      (3)实例操作三:从普通文件中读取属性内容
      既然可以保存,就可以通过 load() 方法,从输入流中将所保存的所有属性内容读取出来。

      import java.io.File;
      import java.io.FileInputStream;
      import java.util.Properties;
      
      public class Test{
          public static void main(String[] args) {
              Properties pro = new Properties();
      //        设置属性文件的保存路径
              File file = new File("D:" + File.separator + "area.properties");
              try{//保存属性到普通文件中,并设置注释内容
                  pro.load(new FileInputStream(file));//读取属性文件
              }catch (Exception e){
                  e.printStackTrace();
              }
              System.out.println("B 属性值存在,内容是:" + pro.getProperty("https://files.jxasp.com/image/2"));
          }
      }
      
        2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17

      在这里插入图片描述
      (4)实例操作四:将属性保存在 XML 文件中
      在 Properties 类中也可以把全部内容以 XML 格式的内容通过输出流输出,如果要把属性保存在 XML 文件中,则文件的后缀最好为 “*.xml”

      public class Test{
          public static void main(String[] args) {
              Properties pro = new Properties();
              pro.setProperty("A","Java");
              pro.setProperty("B","Python");
              pro.setProperty("C","C++");
      //        设置属性文件的保存路径
              File file = new File("D:" + File.separator + "area.xml");
              try{//保存属性到普通文件中,并设置注释内容
                  pro.storeToXML(new FileOutputStream(file),"Area Info");
              }catch (Exception e){
                  e.printStackTrace();
              }
          }
      }
      
        2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15

      (5)从 XML 文件中读取属性
      以 XML 文件格式输出全部属性后,必须使用 loadFromXML() 方法将内容读取进来。

      public class Test{
          public static void main(String[] args) {
              Properties pro = new Properties();
      //        设置属性文件的保存路径
              File file = new File("D:" + File.separator + "area.xml");
              try{
                  pro.loadFromXML(new FileInputStream(file));
              }catch (Exception e){
                  e.printStackTrace();
              }
              System.out.println("B 属性存在,内容为:" + pro.getProperty("B"))
          }
      }
      
        2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

      相关技术文章

      点击QQ咨询
      开通会员
      返回顶部
      ×
      微信扫码支付
      微信扫码支付
      确定支付下载
      请使用微信描二维码支付
      ×

      提示信息

      ×

      选择支付方式

      • 微信支付
      • 支付宝付款
      确定支付下载