社区
非技术区
帖子详情
Hashtable 和Vector的问题
HarlanC
2007-05-15 08:53:21
private Vector tagHistory=new Vector();
private Vector countHistory=new Vector();
Hashtable tagCounts = (Hashtable)countHistory.elementAt(tagHistory.size());
这句话该怎么理解呢?vector的值能复给hashtable么?
...全文
276
4
打赏
收藏
Hashtable 和Vector的问题
private Vector tagHistory=new Vector(); private Vector countHistory=new Vector(); Hashtable tagCounts = (Hashtable)countHistory.elementAt(tagHistory.size()); 这句话该怎么理解呢?vector的值能复给hashtable么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HarlanC
2007-05-15
打赏
举报
回复
它是怎样实现分层的以及标记层位置的,看不懂
HarlanC
2007-05-15
打赏
举报
回复
package xmlparsing1;
import java.util.*;
import java.io.*;
public interface WebParser
{
public Vector getElements(File file)throws Exception;
}
package xmlparsing1;
import java.util.*;
import java.io.*;
public class WebParserWrapper
{
public Vector getElements(File file)throws Exception
{
Vector elements=new Vector();
WebParser webParser=new XMLPaserWrapper();
elements =webParser.getElements(file);
}
}
HarlanC
2007-05-15
打赏
举报
回复
这是搜到的部分源代码,是基于SAX 的XML嵌套信息提取,但不全,请帮忙侃侃,我是新手,没接触过这方面的东西
package xmlparsing1;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
import java.util.*;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class XMLParserWrapper extends DefaultHandler implements WebParser
{
private Vector tagHistory=new Vector();//记录在分析的过程中所在XML树中的位置
private Vector countHistory=new Vector();//记录每一种标记在它所在层中的位置
private Vector elements = new Vector(); //存放最后结果元素
int tagCountInt;//记录一层中该类标记的数量
public Vector getElements(File file)
{
//初始化变量
//创建XML分析器
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
parser.parse(file,this);
return elements;
}
public void startElement
( String namespaceURI,String localName,String qName,Attributes attr )
throws SAXException
{
String tag = qName.toString();
//更新标记在本层中的个数
Hashtable tagCounts = (Hashtable)countHistory.elementAt(tagHistory.size());// 返回指定索引处的组件
Integer tagCountInteger = (Integer)tagCounts.get(tag);
if(tagCountInteger!=null)
tagCountInt=tagCountInteger.intValue();
tagCountInt+=1;
tagCounts.remove(tag);// 从哈希表中移除该键及其相应的值。
tagCounts.put(tag,new Integer(tagCountInt));//put(K key, V value)
//将标记压入堆栈并重新开始记数
tagHistory.addElement(tag+"["+tagCount+"]");
countHistory.addElement(new Hashtable());
}
public void endElement( String namespaceURI,String localName,String qName )
throws SAXException
{
if(tagHistory.size()>0)//弹出栈顶标记
{
tagHistory.remove(tagHistory.size()-1);
countHistory.remove(countHistory.size()-1);
}
}
public void characters( char[] ch, int start, int length )
throws SAXException
{
for(int ti=0;ti<tagHistory.size();ti++)
{
tagKey=tagKey+"."+tagHistory.elementAt(ti);
elements.addElement(new SourceElement(tagKey+".#pc data[0]",thisText));
}
}
}
flyforlove
2007-05-15
打赏
举报
回复
Vector里面可以放任何东西。
但你的Vector都还是空的
两个常见
问题
: HashMap和
Hashtable
的区别 , ArrayList,
Vector
, LinkedList的存储性能和特性
本文详细对比了ArrayList、
Vector
和LinkedList的存储性能与特性,并解析了HashMap与
Hashtable
的区别,包括线程安全性、允许null键值等方面。
Vector
比
Hashtable
设计烂吗?
本文探讨了Java标准库中
Vector
和
Hashtable
的设计理念及其争议。分析了
Vector
为何在设计上受到批评,包括其方法被标记为final限制了继承的可能性,以及同步方法带来的性能
问题
。同时对比了
Hashtable
的设计思路。
Vector
、ArrayList和List有什么异同点
本文围绕Java数据结构展开,讲述面试中遇到的
Vector
和ArrayList区别等
问题
。介绍了Collection、List、Set、Map等接口,以及LinkedList、ArrayList、
Vector
、
Hashtable
、HashMap等实现类的特点、使用方法和相互差异,还给出了不同场景下数据结构的选择建议。
Vector
、
HashTable
线程不安全示例
本文探讨了在多线程环境下,Java中
Vector
和
HashTable
的线程安全性
问题
。通过示例代码展示了不当使用可能导致的ArrayIndexOutOfBoundsException异常和返回null值的情况,并提供了线程安全的修改建议。
ArrayList、
Vector
、HashMap、
HashTable
是如何扩容
博客聚焦于信息技术领域,探讨了ArrayList、
Vector
、HashMap、
HashTable
的扩容
问题
。这些容器在数据存储和处理中常用,了解其扩容机制有助于优化程序性能和资源利用。
非技术区
23,404
社区成员
70,511
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章