Re: [問題] 用物件名稱抓取物件

作者: chen1025 (小陳)   2014-09-03 13:07:41
你需要的是TreeMap的容器物件。
TreeMap<String,Obj> myContainer=new TreeMap<>();
for(int i=0;i<=10;i++){
Obj o=in.readobject();
myContainer.put("o"+i,o);
}
取出名稱為o2的物件就是
Obj o=myContainer.get("o2");
put(key,value); key放你的名稱 value就是整個物件
通常名稱都是要有意義的,例如學號、姓名
用隨機數也要知道這個名稱才能取
Java的object本身就是一個記憶體位置
在一些Design Pattern的書,還有更多的作法,
不過建議你先熟悉Colletion的操作。
※ 引述《ray01080 (阿勒)》之銘言:
: 大家好 java新手發問 如有蠢問題請多包涵>"<
: 我現在在寫一個servlet的程式,然後遇到一個問題
: 今天有一個接收器Object obj=in.readobject負責把物件讀進來
: 進來以後我把它offer到一個priority queue裡面
: 然後它就重覆接收->送到queue這個動作
: 但是假設我送了10個進queue以後
: 我想要更改我送進去queue裡面其中一個物件的其中一樣數值(假設是int)
: 我不知道要怎麼抓到我之前送進去的那個物件(obj會被後面接收的洗掉)
: 自己是有想一個方法,但是不確定可行性或有沒有這種函式之類的
: 因為java有幫obj設定它的名稱
: 假設這程式叫Receiver.java
: 然後接收器每接一個obj就會幫它取名叫Receiver$obj@69e4fede (@後面為隨機數字/英文
: )
: 那我有辦法紀錄這個字串以後用這個字串來找到我的這個物件嗎
: 或是有更方便的方法 不好意思麻煩各位大大賜教了= ="
作者: ray01080 (阿勒)   2014-09-03 16:08:00
是的 我也找到了 感謝:) 那我用Hashtable可以嗎?
作者: roder (尊重 q( ̄︶ ̄)p 包容)   2014-09-03 18:40:00
可以阿 看你要不要排序功能
作者: swpoker (swpoker)   2014-09-04 10:59:00
大量的做法就要考慮了~通常記憶體不會放太多~會爆
作者: wuliou (wuliou)   2014-09-04 21:35:00
百萬筆以上 好資料庫不用嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com