十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
import java.util.Hashtable;
創(chuàng)新互聯(lián)公司服務(wù)項目包括金湖網(wǎng)站建設(shè)、金湖網(wǎng)站制作、金湖網(wǎng)頁制作以及金湖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,金湖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到金湖省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
聲明引用了嗎?
給你完整代碼
學生類Student,代碼如下:
class Student{
private String no;
private String name;
private Integer score;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public String toString(){
return "學號:" + no + " 姓名:" + name + " 成績:" + score;
}
}
主類HashTest,代碼如下:
import javax.swing.*;
import java.util.Vector;
import java.util.Hashtable;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class HashTest extends JFrame {
JLabel lblsearchbyidorname;
JTextField txfidorname;
JButton btnsearchbyidorname;
JTable reader;
JButton btnadd;
JButton btndelete;
Hashtable ht;
Vector colnames;
JLabel lblno;
JLabel lblname;
JLabel lblscore;
JTextField addno;
JTextField addname;
JTextField addscore;
Vector data;
public HashTest() throws HeadlessException {
super("學生成績管理");
ht = new Hashtable();
lblsearchbyidorname = new JLabel("學號:");
txfidorname = new JTextField(20);
lblno = new JLabel("學號");
lblname = new JLabel("姓名");
lblscore = new JLabel("分數(shù)");
addno = new JTextField(10);
addname = new JTextField(12);
addscore = new JTextField(10);
btnsearchbyidorname = new JButton("查找--");
btnadd = new JButton("新增");
btndelete = new JButton("刪除");
colnames = new Vector();
colnames.add("學號");
colnames.add("姓名");
colnames.add("成績");
data = new Vector();
reader = new JTable(new ReaderTableModel(data,colnames));
reader.setPreferredSize(new Dimension(700,260));
JPanel pnlsearch = new JPanel();
pnlsearch.add(lblsearchbyidorname);
pnlsearch.add(txfidorname);
pnlsearch.add(btnsearchbyidorname);
pnlsearch.add(btndelete);
JScrollPane scptable = new JScrollPane(reader,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
JPanel pnladd = new JPanel();
pnladd.add(lblno);
pnladd.add(addno);
pnladd.add(lblname);
pnladd.add(addname);
pnladd.add(lblscore);
pnladd.add(addscore);
pnladd.add(btnadd);
reader.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
ScoreHandler sh = new ScoreHandler();
btnadd.addActionListener(sh);
btndelete.addActionListener(sh);
btnsearchbyidorname.addActionListener(sh);
Container c = getContentPane();
c.add(pnlsearch,BorderLayout.NORTH);
c.add(scptable,BorderLayout.CENTER);
c.add(pnladd,BorderLayout.SOUTH);
setSize(600,400);
setVisible(true);
}
public static void main(String[] args) {
new HashTest();
}
class ScoreHandler implements ActionListener{
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton)e.getSource();
if(btn == btnsearchbyidorname){
Object obj = ht.get(txfidorname.getText().trim());
if(obj == null){
JOptionPane.showMessageDialog(null,"沒有找到!");
}else{
JOptionPane.showMessageDialog(null,"查詢結(jié)果如下:\n" + obj.toString());
}
}else if(btn == btnadd){
Student stu = new Student();
stu.setName(addname.getText().trim());
stu.setNo(addno.getText().trim());
stu.setScore(Integer.valueOf(addscore.getText().trim()));
ht.put(stu.getNo(),stu);
addDataToTable(stu);
addname.setText("");
addno.setText("");
addscore.setText("");
}else if(btn == btndelete){
int index = reader.getSelectedRow();
if (index == -1){
JOptionPane.showMessageDialog(null,"你沒有選擇學生!");
}else{
String no = (String)reader.getValueAt(index,0);
Student stu = (Student)ht.remove(no);
JOptionPane.showMessageDialog(null,"學生成績刪除!\n" + stu.toString());
data.remove(index);
reader.repaint();
}
}
}
}
public void addDataToTable(Student stu){
Vector temp = new Vector();
temp.add(stu.getNo());
temp.add(stu.getName());
temp.add(stu.getScore());
data.add(temp);
reader.repaint();
}
}
1、
Boolean
取決于實現(xiàn)平臺
Byte
1 個字節(jié)
Char
2 個字節(jié)
Date
8 個字節(jié)
Decimal
16 個字節(jié)
Double
8 個字節(jié)
Integer
4 個字節(jié)
Long
8 個字節(jié)
Object
4 個字節(jié)(32 位平臺上)
8 個字節(jié)(64 位平臺上)
SByte
1 個字節(jié)
Short
2 個字節(jié)
Single
4 個字節(jié)
String?(變長)
取決于實現(xiàn)平臺
UInteger
4 個字節(jié)
ULong
8 個字節(jié)
用戶定義的(結(jié)構(gòu))
取決于實現(xiàn)平臺
UShort
2 個字節(jié)
2、
字節(jié)
ateString
時間:DateTime.Now.ToFileTime
可以這樣用:
Response.Write(DateTime.Now.ToShortDateString() + "br/");
Response.Write(DateTime.Now.ToShortTimeString() + "br/");
輸出:
2007-1-29
8:49
Response.Write(DateTime.Now.ToLongDateString() + "br/");
Response.Write(DateTime.Now.ToLongTimeString() + "br/");
輸出:
2007年1月29日
8:49:15
不知合不合你要求
我是要VS2005下使用,很好用。可查看MSDN以下簡單例出:
.NET Framework 類庫
DateTime 成員
請參見 構(gòu)造函數(shù) 字段 方法 屬性 顯式接口實現(xiàn)
全部折疊 全部展開 成員選項:全部顯示 成員選項:已篩選
包括繼承的成員
包括受保護的成員
僅 .NET Compact Framework 成員
表示時間上的一刻,通常以日期和當天的時間表示。
下表列出了由 DateTime 類型公開的成員。
公共構(gòu)造函數(shù)
名稱 說明
DateTime 已重載。初始化 DateTime 結(jié)構(gòu)的新實例。
頁首
公共字段
名稱 說明
MaxValue 表示 DateTime 的最大可能值。此字段為只讀。
MinValue 表示 DateTime 的最小可能值。此字段為只讀。
頁首
公共屬性
名稱 說明
Date 獲取此實例的日期部分。
Day 獲取此實例所表示的日期為該月中的第幾天。
DayOfWeek 獲取此實例所表示的日期是星期幾。
DayOfYear 獲取此實例所表示的日期是該年中的第幾天。
Hour 獲取此實例所表示日期的小時部分。
Kind 獲取一個值,該值指示由此實例表示的時間是基于本地時間、協(xié)調(diào)通用時間 (UTC),還是兩者皆否。
Millisecond 獲取此實例所表示日期的毫秒部分。
Minute 獲取此實例所表示日期的分鐘部分。
Month 獲取此實例所表示日期的月份部分。
Now 獲取一個 DateTime 對象,該對象設(shè)置為此計算機上的當前日期和時間,表示為本地時間。
Second 獲取此實例所表示日期的秒部分。
Ticks 獲取表示此實例的日期和時間的刻度數(shù)。
TimeOfDay 獲取此實例的當天的時間。
Today 獲取當前日期。
UtcNow 獲取一個 DateTime 對象,該對象設(shè)置為此計算機上的當前日期和時間,表示為協(xié)調(diào)通用時間 (UTC)。
Year 獲取此實例所表示日期的年份部分。
頁首
公共方法
名稱 說明
Add 將指定的 TimeSpan 的值加到此實例的值上。
AddDays 將指定的天數(shù)加到此實例的值上。
AddHours 將指定的小時數(shù)加到此實例的值上。
AddMilliseconds 將指定的毫秒數(shù)加到此實例的值上。
AddMinutes 將指定的分鐘數(shù)加到此實例的值上。
AddMonths 將指定的月份數(shù)加到此實例的值上。
AddSeconds 將指定的秒數(shù)加到此實例的值上。
AddTicks 將指定的刻度數(shù)加到此實例的值上。
AddYears 將指定的年份數(shù)加到此實例的值上。
Compare 比較 DateTime 的兩個實例,并返回它們相對值的指示。
CompareTo 已重載。 將此實例與指定的對象或值類型進行比較,并返回二者相對值的指示。
DaysInMonth 返回指定年和月中的天數(shù)。
Equals 已重載。 返回一個值,該值指示兩個 DateTime 對象,或者一個 DateTime 實例和另一個對象或 DateTime 是否相等。
FromBinary 反序列化一個 64 位二進制值,并重新創(chuàng)建序列化的 DateTime 初始對象。
FromFileTime 將指定的 Windows 文件時間轉(zhuǎn)換為等效的本地時間。
FromFileTimeUtc 將指定的 Windows 文件時間轉(zhuǎn)換為等效的 UTC 時間。
FromOADate 返回與指定的 OLE 自動化日期等效的 DateTime。
GetDateTimeFormats 已重載。 將此實例的值轉(zhuǎn)換為標準 DateTime 格式說明符支持的所有字符串表示形式。
GetHashCode 已重寫。 返回此實例的哈希代碼。
GetType 獲取當前實例的 Type。 (從 Object 繼承。)
GetTypeCode 返回值類型 DateTime 的 TypeCode。
IsDaylightSavingTime 指示此 DateTime 實例是否在當前時區(qū)的夏時制范圍內(nèi)。
IsLeapYear 返回指定的年份是否為閏年的指示。
op_Addition 將指定的時間間隔加到指定的日期和時間以生成新的日期和時間。
op_Equality 確定 DateTime 的兩個指定的實例是否相等。
op_GreaterThan 確定指定的 DateTime 是否大于另一個指定的 DateTime。
op_GreaterThanOrEqual 確定指定的 DateTime 是否大于或等于另一個指定的 DateTime。
op_Inequality 確定 DateTime 的兩個指定的實例是否不等。
op_LessThan 確定指定的 DateTime 是否小于另一個指定的 DateTime。
op_LessThanOrEqual 確定指定的 DateTime 是否小于或等于另一個指定的 DateTime。
op_Subtraction 已重載。 從指定的 DateTime 減去指定的 DateTime 或 TimeSpan。
Parse 已重載。 將日期和時間的指定字符串表示轉(zhuǎn)換成其等效的 DateTime。
ParseExact 已重載。 將日期和時間的指定字符串表示轉(zhuǎn)換成其等效的 DateTime。該字符串表示形式的格式必須與指定的格式完全匹配。
ReferenceEquals 確定指定的 Object 實例是否是相同的實例。 (從 Object 繼承。)
SpecifyKind 創(chuàng)建新的 DateTime 對象,該對象表示與指定的 DateTime 相同的時間,但是根據(jù)指定的 DateTimeKind 值的指示,指定為本地時間或協(xié)調(diào)通用時間 (UTC),或者兩者皆否。
Subtract 已重載。 從此實例中減去指定的時間或持續(xù)時間。
ToBinary 將當前 DateTime 對象序列化為一個 64 位二進制值,該值隨后可用于重新創(chuàng)建 DateTime 對象。
ToFileTime 將當前 DateTime 對象的值轉(zhuǎn)換為 Windows 文件時間。
ToFileTimeUtc 將當前 DateTime 對象的值轉(zhuǎn)換為 Windows 文件時間。
ToLocalTime 將當前 DateTime 對象的值轉(zhuǎn)換為本地時間。
ToLongDateString 將此實例的值轉(zhuǎn)換為其等效的長日期字符串表示形式。
ToLongTimeString 將此實例的值轉(zhuǎn)換為其等效的長時間字符串表示形式。
ToOADate 將此實例的值轉(zhuǎn)換為等效的 OLE 自動化日期。
ToShortDateString 將此實例的值轉(zhuǎn)換為其等效的短日期字符串表示形式。
ToShortTimeString 將此實例的值轉(zhuǎn)換為其等效的短時間字符串表示形式。
ToString 已重載。 已重寫。 將此實例的值轉(zhuǎn)換為其等效的字符串表示。
ToUniversalTime 將當前 DateTime 對象的值轉(zhuǎn)換為協(xié)調(diào)通用時間 (UTC)。
TryParse 已重載。 將日期和時間的指定字符串表示轉(zhuǎn)換成其等效的 DateTime。
TryParseExact 已重載。 將日期和時間的指定字符串表示轉(zhuǎn)換成其等效的 DateTime。該字符串表示形式的格式必須與指定的格式完全匹配。
頁首
顯式接口實現(xiàn)
名稱 說明
System.IConvertible.ToBoolean 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToByte 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToChar 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToDateTime 返回當前 DateTime 對象。
System.IConvertible.ToDecimal 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToDouble 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToInt16 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToInt32 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToInt64 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToSByte 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToSingle 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToType 將當前的 DateTime 對象轉(zhuǎn)換為指定類型的對象。
System.IConvertible.ToUInt16 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToUInt32 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.IConvertible.ToUInt64 不支持此轉(zhuǎn)換。嘗試這樣做會引發(fā) InvalidCastException。
System.Runtime.Serialization.ISerializable.GetObjectData 使用序列化當前 DateTime 對象所需要的數(shù)據(jù)來填充 SerializationInfo 對象。
頁首
請參見
參考
DateTime 結(jié)構(gòu)
我們知道Hashtable 是線程安全的,可由多個讀取器線程或一個寫入線程使用。
它的特點是:通過節(jié)點的關(guān)鍵碼確定節(jié)點的存儲位置,即給定節(jié)點的關(guān)鍵碼k,通過一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將此值解釋為該節(jié)點的存儲地址.
HashMap 與Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null為關(guān)鍵碼的.
我們知道在使用內(nèi)存中的地址時是按照哪里有空閑的就使用哪里的。怎么可能一直由著我們輸入的順序給你開放地址呢?
VB.NET數(shù)據(jù)類型VB.NET中有12種不同的數(shù)據(jù)類型,可以分成三類:數(shù)值類型、文本類型和混合類型。數(shù)值類型是VB.NET數(shù)據(jù)類型的主要類型,共7種。數(shù)值類型的數(shù)據(jù)類型見下表。 數(shù)據(jù)類型表示方式取 值 范 圍說 明整型Integer–2147483648~2147483647用于表示簡單整數(shù)字節(jié)型Byte0~255用于簡單算術(shù)運算。由于這個類型的變量可以在一個字節(jié)中存儲,所以運算速度最快短整型Short–32768~32767是整型的一種形式,相對表示范圍較小長整型Long–9223372036854775808~9223372036854775807是整型的一種形式,相對表示范圍較大單精
度型Single–3.402823E38~–1.401298E-45(對于負數(shù))和1.401298E-45~3.402823E38(對于正數(shù))用于存放單精度浮點數(shù)雙精
度型Double–1.79869313486232E308~–4.94065645841247E-324(對于負數(shù))和4.94065645841247E-324~1.79869313486232E308(對于正數(shù))用于存放雙精度浮點數(shù)小數(shù)Decimal當小數(shù)位為0的時候,為–79228162514264337593543950335~
79228162514264337593543950335;當小數(shù)位為28的時候,為–7.9228162514264337593543950335~
7.9228162514264337593543950335常用于存儲貨幣值 數(shù)值類型的數(shù)據(jù)類型 用于存放文本的數(shù)據(jù)類型有兩個。文本類型的VB.NET數(shù)據(jù)類型見下表。 數(shù) 據(jù) 類 型表 示 方 式說 明字符串型String用于存放任何形式的字符串,包括一個字符或者多行字符字符型Char用于存放一個字符,它以0~65535之間數(shù)字的形式存儲文本類型的數(shù)據(jù)類型 其中需要說明的是: (1) 對于String類型,可以存放任何形式的字符串,它可以是純粹的文本,也可以是文本和數(shù)字的組合或者是數(shù)字、日期等。例如"This is a book. "和"12345"都是字符串。對于字符串類型的數(shù)據(jù),可以進行相關(guān)的字符串操作,例如連接、截斷等。 (2) 對于Char類型,可以存儲的只是一個字符,注意,這個字符的存儲編碼必需是一個數(shù)字。在計算機系統(tǒng)中,可以顯示很多符號(不僅僅是英文字母),為了能夠正確地顯示,國際上有通用的標準(例如Unicode編碼),為每個字符設(shè)定了一個標準的數(shù)值來表示這個字符。其余的數(shù)據(jù)類型還有:Date數(shù)據(jù)類型、布爾數(shù)據(jù)類型和Object數(shù)據(jù)類型,其說明見下表。 數(shù) 據(jù) 類 型表 示 方 式說 明日期型Date必須用mm/dd/yyyy的格式表示,也可以存儲時間(可以存儲00:00:00~23:59:59之間的任何時間)布爾型Boolean取值為True和False對象型Object 其他數(shù)據(jù)類型 其中需要說明的是:在VB.NET中,對于Boolean類型的數(shù)據(jù),當需要把布爾類型的值轉(zhuǎn)換為數(shù)值類型的時候,會把True當成1來處理,把False當作0來處理。當需要把VB.NET數(shù)值類型的值轉(zhuǎn)換為布爾類型的時候,會把0轉(zhuǎn)換為False,而把其他的非0數(shù)值轉(zhuǎn)換為True。