亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java中利用散列表實現股票行情的查詢.txt

?? 含有許多JAVA的技巧!
?? TXT
字號:
Java中利用散列表實現股票行情的查詢 
(加入日期:2001-5-6 點擊數:884)
【對此文發表評論】 【編程愛好者論壇】 【保存文章至硬盤】 【打印文章】 
 
---- 在java中,提供了一個散列表類Hashtable,利用該類,我們可以按照特定的方式來存儲數據,從而達到快速檢索的目的。本文以查詢股票的收盤數據為例,詳細地說明java中散列表的使用方法。 

一、散列表的原理
---- 散列表,又稱為哈希表,是線性表中一種重要的存儲方式和檢索方法。在散列表中,可以對節點進行快速檢索。散列表算法的基本思想是:由結點的關鍵碼值決定結點的存儲地址,即以關鍵碼值k為自變量,通過一定的函數關系h(稱為散列函數),計算出對應的函數值h(k)來,將這個值解釋為結點的存儲地址,將結點存入該地址中,檢索時,根據要檢索的關鍵碼值,用同樣的散列函數計算出地址,然后,到相應的地址中去獲取要找的結點數據。因此,散列表有一個重要特征:平均檢索的長度不直接依賴于表中元素的個數。 
---- 散列表最重要的一個指標是負載因子,即散列表中結點數目與表中能容納的總結點數的比值,它描述了散列表的飽和程度,負載因子越接近1.0,內存的使用效率越高,元素的尋找時間越長,同樣,負載因子越接近0.0,元素的尋找時間越短,但內存的浪費越大。Hashtable類缺省的負載因子為0.75. 

二、Hashtable類
---- Hashtable類為我們提供了散列表完整的功能,可以讓我們很方便地構造和使用散列表,查詢信息。 
---- 1.創建散列表對象 

---- Hashtable類的構造器主要有下面幾種形式: 

public Hashtable(int initialCapacity, float loadFactor);
public Hashtable(int initialCapacity);
public Hashtable();
在本文的實例中,我們使用了最簡單的一種:
Hashtable stockInfo = new Hashtable();


---- 2.充填數據 
---- 當構造了Hashtable對象后,我們就可以將數據填入該對象中,以便以后查詢。Hashtable類提供了put方法來完成數據的裝填,其原型如下: 

---- public synchronized Object put(Object key, Object value); 

---- 3.查詢數據 

---- 查詢數據可以使用get方法,其原型如下: 

---- public synchronized Object get(Object key) 

---- 4.其它常用的方法 

public int size();
//返回散列表中的結點數目
public boolean isEmpty();
//判斷散列表是否為空
public boolean containsValue(Object value);
//判斷散列表中是否含有某值
public synchronized boolean containsKey(Object key);
//判斷散列表中是否含有某個結點
public synchronized void clear();
//清空整個散列表


三、StringTokenizer類
---- StringTokenizer類的主要用途是將字符串以定界符為界,分析為一個個的token(可理解為單詞),定界符可以自己指定。 
---- 構造器有下面幾種形式: 

public StringTokenizer(String str, 
String delim, boolean returnTokens);
public StringTokenizer(String str, String delim);
public StringTokenizer(String str);
其中,str為需分析的字符串,delim為定界符,
Tokens描述是否將定界符作為一個token。


---- 其它常用的方法有: 
public boolean hasMoreTokens() ;
//判斷字符串中是否還有token
public String nextToken();// 
StringTokenizer對象的下一個token


四、實例
---- 本文使用的股票行情為上海和深圳證券交易所的收盤行情,文件名為hqsj.txt,下面是文件中的一行數據: 
---- 600122宏圖高科 18.90 18.80 18.90 18.20 18.27 3155 582.96 

---- 下面是完整的源程序,在JDK1.2下使用javac編譯通過。 

import java.io.*; 
import java.util.*;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class StockQuote extends Applet 
implements ActionListener
{
private static final File INFO_FILE = 
new File("hqsj.txt");
private Hashtable stockInfo;
TextField stockID;
Button button1;
private String quoteid,quotename;

public void init()
{
add(new Label("股票代碼"));
stockID = new TextField(6);
add(stockID);
button1 = new Button("查詢");
button1.addActionListener(this);
add(button1);
resize(500, 300);
}

public void start()
{
loadinfo();
}

protected boolean loadinfo()
{
String fileLine;
StringTokenizer tokenize;
String id;
StringBuffer name;

try {
// 創建一個訪問數據文件的stream
BufferedReader stockInput = new 
BufferedReader(new FileReader(INFO_FILE));
// 創建Hashtable對象
stockInfo = new Hashtable();
// 每次從文件中讀一行數據
while ((fileLine = stockInput.readLine()) != null) {
// 將每一行數據分解為tokens.
tokenize = new StringTokenizer(fileLine);
try {
id = tokenize.nextToken();
// 創建一個放置股票信息的buffer
name = new StringBuffer();
while(tokenize.hasMoreTokens()) {
name.append(tokenize.nextToken());
if (tokenize.hasMoreTokens()) {
name.append("");
}
}
// 向Hashtable中充填記錄
stockInfo.put(id,name.toString());
} catch(NullPointerException excpt) {
System.err.println("充填數據時出錯: " + excpt);
} catch(NoSuchElementException excpt) {
System.err.println("無效的數據記錄 " +
"in file: " + excpt);
}
} 
stockInput.close();

} catch(FileNotFoundException excpt) {
System.err.println("不能發現文件: " + excpt);
return false;
} catch(IOException excpt) {
System.err.println("I/O故障: " + excpt);
return false;
}
return true;
}

protected String getQuote(String StockID)
{
String info;

// 從Hashtable得到數據
info = (String)stockInfo.get(StockID);
if (info != null)
return info;
else
return "股票代碼錯誤!";
}

public void paint(Graphics g)
{
g.drawString("股票代碼"+quoteid+":" ,10,60);
g.drawString("股票名稱"+"前收"+"今開"+"最高"
+"最低"+"收盤"+"交易量"+"交易金額", 10, 90);
g.drawString(quotename, 10, 120);
}

public void actionPerformed(ActionEvent ev)
{
String label = ev.getActionCommand();
if (label.equals("查詢"))
{
quoteid = stockID.getText();
if(quoteid != null)
quotename = getQuote(quoteid);
else quotename = "請輸入股票代碼!";
repaint();
}
}
}

---- 由于java固有的、安全方面的限制,如果不使用SecurityPermission或數字簽名等措施,java程序就不具有讀取本地文件的權限,為了節省篇幅,本文對此不再多做討論,將編譯得到的StockQuote.class放到一個.html文件中,直接使用jdk1.2提供的appletviewer,其命令行的使用方法如下: 
d:\jdk1.2\bin\appletviewer  StockQuote.html

本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。( ProgramFan.Com ) 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
菠萝蜜视频在线观看一区| 欧美成人女星排名| 久久综合久久综合九色| 亚洲日本丝袜连裤袜办公室| 日本欧美一区二区三区| gogogo免费视频观看亚洲一| 9191成人精品久久| 一区二区三区四区不卡在线 | 欧美日韩电影一区| 中文字幕中文字幕一区二区| 日本成人在线电影网| 色94色欧美sute亚洲线路一久| 欧美精品一区二区三区蜜桃 | 综合久久久久久| 国产在线不卡一区| 日韩视频免费观看高清完整版| 亚洲国产乱码最新视频| av一区二区三区在线| 国产欧美日韩不卡免费| 国产在线精品国自产拍免费| 欧美一卡二卡三卡| 石原莉奈在线亚洲二区| 欧美性大战久久久久久久| 亚洲欧美精品午睡沙发| kk眼镜猥琐国模调教系列一区二区| 国产视频一区不卡| 国产伦精品一区二区三区免费| 日韩三级视频在线观看| 久久国产免费看| 精品美女一区二区| 久久99国产精品成人| 精品国产一区二区三区av性色| 奇米色777欧美一区二区| 欧美高清视频不卡网| 亚洲mv在线观看| 欧美日韩国产精品成人| 日韩精品亚洲专区| 欧美成人三级在线| 国产盗摄女厕一区二区三区| 国产欧美精品国产国产专区| 北岛玲一区二区三区四区| 亚洲国产精品ⅴa在线观看| 成人美女视频在线观看18| 国产精品国产三级国产aⅴ入口| 成人午夜视频网站| 亚洲激情第一区| 欧美日韩一级视频| 久久电影国产免费久久电影| 国产日韩欧美激情| 色综合天天狠狠| 人妖欧美一区二区| 国产日韩欧美综合一区| 97精品久久久久中文字幕 | 一本到不卡精品视频在线观看| 日韩毛片精品高清免费| 91福利在线免费观看| 麻豆精品国产传媒mv男同| 26uuu国产在线精品一区二区| 国产成人午夜视频| 最新国产精品久久精品| 欧美日韩国产首页在线观看| 久久成人免费日本黄色| 国产精品福利一区| 欧美日韩另类一区| 国产一二三精品| 亚洲三级在线播放| 91精品国产综合久久精品麻豆| 麻豆精品久久精品色综合| 国产欧美日韩不卡| 欧美日韩亚州综合| 国产精品资源站在线| 亚洲丝袜自拍清纯另类| 91精品国产91热久久久做人人 | 色爱区综合激月婷婷| 美美哒免费高清在线观看视频一区二区| 欧美精品一区二区三区久久久 | 国产69精品久久久久毛片| 亚洲免费在线看| 精品久久免费看| 欧美日产在线观看| 不卡视频免费播放| 美女在线一区二区| 亚洲一区二区在线免费观看视频| 久久久久国产精品麻豆| 欧美日韩成人激情| 日本高清视频一区二区| 成人性生交大片免费看中文| 日韩国产一二三区| 亚洲欧美激情视频在线观看一区二区三区 | 成人福利视频在线看| 蜜臀av一区二区三区| 尤物av一区二区| 国产精品久久久久久福利一牛影视 | 久久se精品一区精品二区| 亚洲天堂精品视频| 国产精品久久久久久久久免费桃花| 日韩欧美高清在线| 欧美一区二区三区免费大片| 日本久久精品电影| 91免费在线播放| jiyouzz国产精品久久| 国产精品888| 国内成人免费视频| 久久国产精品99精品国产 | 国产iv一区二区三区| 麻豆精品精品国产自在97香蕉| 亚洲国产精品自拍| 夜夜精品浪潮av一区二区三区| 最新热久久免费视频| 国产精品久久久久aaaa樱花| 欧美国产一区二区在线观看| 久久久www免费人成精品| 欧美精品一区二区三区四区| 日韩精品一区二区三区视频在线观看| 欧美日本国产一区| 日韩一区二区三区在线| 日韩一级高清毛片| 欧美mv和日韩mv的网站| 日韩免费福利电影在线观看| 日韩欧美成人激情| 久久久久亚洲综合| 中文字幕一区二区在线观看| 亚洲同性gay激情无套| 亚洲视频一区二区在线| 亚洲一卡二卡三卡四卡五卡| 亚洲成人av一区| 日本成人在线看| 国产伦理精品不卡| www..com久久爱| 欧洲日韩一区二区三区| 欧美精品日韩综合在线| 精品女同一区二区| 亚洲欧洲三级电影| 亚洲18女电影在线观看| 精品一区二区在线视频| 国产成人无遮挡在线视频| 91丝袜美腿高跟国产极品老师 | 亚洲狠狠爱一区二区三区| 亚洲一区免费视频| 久久er精品视频| 国产成人精品三级麻豆| 在线观看三级视频欧美| 精品少妇一区二区三区在线视频| 国产精品拍天天在线| 一区二区三区四区乱视频| 免费在线看成人av| 不卡一区二区在线| 日韩一级免费一区| 亚洲欧洲日产国产综合网| 亚洲国产综合视频在线观看| 国内精品伊人久久久久影院对白| 成人的网站免费观看| 欧美在线影院一区二区| 久久蜜桃一区二区| 亚洲国产日韩精品| 成人晚上爱看视频| 日韩三级.com| 亚洲美女淫视频| 国产精品亚洲一区二区三区在线| 色婷婷国产精品综合在线观看| 日韩区在线观看| 亚洲一区免费视频| aaa欧美日韩| 精品国产免费人成电影在线观看四季 | 日韩中文字幕不卡| 成人免费观看视频| 日韩午夜激情电影| 亚洲在线视频免费观看| 国产大陆亚洲精品国产| 日韩视频免费观看高清完整版在线观看| 国产精品久久精品日日| 国产一区视频网站| 91精品国产入口在线| 亚洲精品乱码久久久久久| 国产成人在线看| 久久综合资源网| 麻豆一区二区三| 欧美日韩免费观看一区二区三区| 国产精品久久二区二区| 大胆欧美人体老妇| 日韩午夜激情电影| 日本强好片久久久久久aaa| 欧美影院精品一区| 亚洲精品写真福利| 97精品久久久午夜一区二区三区| 国产欧美一二三区| 国内精品嫩模私拍在线| 精品国产污污免费网站入口 | 亚洲综合一区在线| 99精品黄色片免费大全| 中文字幕免费不卡| 成人综合激情网| 久久久.com| 高清在线观看日韩| 中文字幕av资源一区| 成人国产精品免费观看视频| 国产欧美一区在线| 99亚偷拍自图区亚洲| 国产精品国产三级国产专播品爱网 | 欧美在线免费视屏|