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

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

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

?? Java技術大合集,所有常用的技術在里面都有簡單例子
?? TXT
字號:
作者:asp2001
email: asp2001@163.net
日期:2000-8-9 12:50:30
Java中利用散列表實現股票行情的查詢 
建設銀行云南省保山地區分行 
楊紹方 
---- 在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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲免费视频| 久久久久久免费网| 色综合天天视频在线观看 | 一区二区三区在线看| 国产人成一区二区三区影院| 国产午夜三级一区二区三| 国产欧美精品一区| 亚洲欧美日韩一区| 亚洲精品视频在线观看免费| 亚洲午夜免费福利视频| 日韩一区精品字幕| 久久er99热精品一区二区| 国产一区二区不卡老阿姨| 风间由美一区二区av101| aaa亚洲精品| 欧美日韩精品一区二区天天拍小说| 在线观看91精品国产麻豆| 精品久久久久久无| 国产精品―色哟哟| 亚洲一区二区不卡免费| 精品一区二区三区免费播放| 不卡的av网站| 欧美精品久久天天躁| 久久免费视频一区| 亚洲六月丁香色婷婷综合久久 | 亚洲另类一区二区| 日韩va欧美va亚洲va久久| 国产一区免费电影| 欧美在线观看视频一区二区三区| 制服丝袜亚洲播放| 中文字幕欧美日本乱码一线二线| 一区二区在线观看av| 蜜臀91精品一区二区三区| 成人在线综合网| 欧美色涩在线第一页| 久久久久久久性| 一区二区欧美精品| 国产精品一级片| 欧美三级中文字幕| 中文字幕精品三区| 理论片日本一区| 欧洲国产伦久久久久久久| 亚洲精品一区二区三区福利| 亚洲精品videosex极品| 国内精品免费在线观看| 欧美无人高清视频在线观看| 国产日产欧美一区二区视频| 日本人妖一区二区| 日本精品裸体写真集在线观看| 精品剧情v国产在线观看在线| 亚洲欧美日韩在线不卡| 久久99国产精品久久99| 69av一区二区三区| 成人免费视频在线观看| 国产美女娇喘av呻吟久久| 欧美偷拍一区二区| 亚洲日本欧美天堂| 国产91在线看| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲欧洲成人自拍| 国产一区二区三区精品视频| 337p亚洲精品色噜噜噜| 亚洲一区二区在线免费观看视频| 成人a区在线观看| 中文字幕电影一区| 精品一区二区免费| 精品久久久久久久久久久院品网 | 亚洲欧美乱综合| 成人国产一区二区三区精品| wwww国产精品欧美| 精品一区二区三区免费毛片爱| 884aa四虎影成人精品一区| 一区二区国产视频| 欧美在线短视频| 亚洲资源中文字幕| 欧美日韩精品一区二区天天拍小说| 亚洲少妇30p| 色综合一区二区| 亚洲最色的网站| 欧美日韩精品综合在线| 五月激情六月综合| 91精品国产免费| 美女任你摸久久| 国产网红主播福利一区二区| 国产mv日韩mv欧美| 亚洲欧美日韩在线不卡| 在线观看www91| 日韩电影免费在线观看网站| 欧美成人精精品一区二区频| 国产在线一区二区综合免费视频| 久久只精品国产| kk眼镜猥琐国模调教系列一区二区 | 91精品国产综合久久精品图片| 日韩国产一区二| 久久久久久久久久久久久夜| 99久久免费视频.com| 偷拍日韩校园综合在线| 精品国产一区二区三区av性色| 成人免费毛片app| 亚洲一区精品在线| 欧美第一区第二区| 91丨porny丨蝌蚪视频| 午夜精品久久久久久久99水蜜桃| 日韩一区二区三区四区| eeuss鲁片一区二区三区 | 日韩西西人体444www| 国产成人综合亚洲91猫咪| 亚洲欧美电影一区二区| 欧美va亚洲va在线观看蝴蝶网| 成人精品国产免费网站| 日日噜噜夜夜狠狠视频欧美人| 久久久久99精品一区| 色婷婷精品大在线视频| 国产一区999| 亚洲成人激情综合网| 久久网站最新地址| 欧美日韩中文精品| 成人综合婷婷国产精品久久免费| 亚洲成av人片观看| 亚洲欧洲性图库| 久久先锋资源网| 制服丝袜一区二区三区| 一本色道久久加勒比精品| 国内精品国产三级国产a久久| 亚洲一区二区欧美日韩| 国产农村妇女毛片精品久久麻豆| 欧美日韩三级一区| 99re成人精品视频| 成人午夜视频网站| 国产精品系列在线观看| 九九视频精品免费| 婷婷中文字幕综合| 一区二区欧美视频| 亚洲视频一区在线观看| 日本一区二区三区免费乱视频| 欧美一区二区三区视频在线观看| 欧美性感一类影片在线播放| 成人av网站大全| 成人一级片网址| 国产成人精品一区二区三区网站观看 | 暴力调教一区二区三区| 激情伊人五月天久久综合| 免费高清在线视频一区·| 亚洲bdsm女犯bdsm网站| 一二三区精品福利视频| 亚洲精品美腿丝袜| 一色屋精品亚洲香蕉网站| 国产精品第五页| 日韩一区中文字幕| 亚洲欧美日韩国产综合在线| 1024成人网| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品网曝门| 中国av一区二区三区| 国产精品美女久久久久aⅴ国产馆| 国产三级精品视频| 中文字幕一区二区三区不卡在线| 国产精品第一页第二页第三页| 成人免费一区二区三区在线观看| 亚洲欧美日韩中文播放 | 亚洲激情五月婷婷| 一片黄亚洲嫩模| 日韩有码一区二区三区| 麻豆精品视频在线观看视频| 国产精品中文欧美| 成a人片亚洲日本久久| 色天天综合色天天久久| 欧美三片在线视频观看| 欧美大胆一级视频| 国产精品大尺度| 亚洲成国产人片在线观看| 蜜桃精品视频在线| 国产91丝袜在线播放| 91亚洲精品乱码久久久久久蜜桃| 色丁香久综合在线久综合在线观看| 欧美视频一区在线| 日韩欧美国产午夜精品| 国产精品国产三级国产aⅴ原创| 亚洲精品一卡二卡| 麻豆一区二区三| 不卡一区二区三区四区| 欧美揉bbbbb揉bbbbb| 久久五月婷婷丁香社区| 一区二区三区在线免费观看| 精品一区二区三区在线播放 | 亚洲.国产.中文慕字在线| 蜜臀va亚洲va欧美va天堂| 成人在线视频一区| 欧美精品v国产精品v日韩精品 | 色视频一区二区| 日韩精品中文字幕在线一区| 国产精品久久久久久久久动漫| 亚洲成人动漫在线免费观看| 国产电影一区二区三区| 欧美丰满美乳xxx高潮www| 国产精品美女久久久久久久网站| 日本不卡一二三| 日本韩国精品在线| 国产欧美一区二区精品仙草咪| 天天综合色天天综合|