java 中 entry 是什么意思,java中什么叫entryset
大家好,如果您还对java 中 entry 是什么意思不太了解,没有关系,今天就由本站为大家分享java 中 entry 是什么意思的知识,包括java中什么叫entryset的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
JAVA问题:Map.Entry的一般用处是什么
用途:
1. Map map= new HashMap();
Irerator iterator= map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry entry= iterator.next();
Object key= entry.getKey();
}
2.Map map= new HashMap();
Set keySet= map.keySet();
Irerator iterator= keySet.iterator;
while(iterator.hasNext()){
Object key= iterator.next();
Object value= map.get(key);
}
Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
扩展资料:
Map储存数据的方式,map储存数据的形式是一个key和一个value对应,即Map<String,String> map= new HashMap<String,String>();其储存的数据类型可以是任意的。
接下来我们简单的介绍一下它添加数据和遍历数据的方法:
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for(String key: map.keySet()){//通过foreach方法来遍历
System.out.println("key="+ key+" and value="+ map.get(key));
}
参考资料:java基础_百度百科
java中的ZipEntry是什么意思
ZipEntry类是java.util.zip包下的一个类,
ZipEntry类用于表示 ZIP文件条目。
利用这个类压缩和解压zip文件
具体压缩的例子如下:
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.util.zip.ZipEntry;
importjava.util.zip.ZipOutputStream;
/**
*压缩程序
*@authoryoung
*
*/
publicclassSingleFileZip{
publicstaticvoidmain(String[]args){
Filefile=newFile("e:/test.txt");
FileInputStreamfis=null;
ZipOutputStreamzos=null;
try{
fis=newFileInputStream(file);
zos=newZipOutputStream(newFileOutputStream("e:/my.zip"));
//创建压缩文件中的条目
ZipEntryentry=newZipEntry(file.getName());
//将创建好的条目加入到压缩文件中
zos.putNextEntry(entry);
//写入当前条目所对应的具体内容
byte[]buff=newbyte[1024];
intlen=0;
while((len=fis.read(buff))!=-1){
zos.write(buff,0,len);
}
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
fis.close();
zos.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
解压例子如下:
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.util.zip.ZipEntry;
importjava.util.zip.ZipFile;
importjava.util.zip.ZipInputStream;
/**
*解压程序
*@authoryoung
*
*/
publicclassSingleFileUnZip{
publicstaticvoidmain(String[]args){
FileOutputStreamfos=null;
ZipInputStreamzis=null;
InputStreamis=null;
try{
ZipFilezf=newZipFile("e:/my.zip");
zis=newZipInputStream(newFileInputStream("e:/my.zip"));
fos=newFileOutputStream("e:/unzip.txt");
//从压缩文件中获取一个条目
ZipEntryentry=zis.getNextEntry();
//获得该条目对象的数据流
is=zf.getInputStream(entry);
byte[]buff=newbyte[1024];
intlen=0;
while((len=is.read(buff))!=-1){
fos.write(buff,0,len);
}
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
is.close();
zis.close();
fos.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
java中什么叫entryset
Entry是一个键值对对象,包含一个key和一个value,他是Map接口中定义的内部接口(Map.Entry)HashMap类中的内部类Entry实现了AbstractMap.SimpleEntry,而AbstractMap.SimpleEntry实现了Map.Entry接口,
用null做key其实是HashMap中定义了一个NULL_KEY(ObjectNULL_KEY=newObject();其实就是个Object对象)来替代null作为key,
也就是说你map.put(null,value)的时候,HashMap实际上会用NULL_KEY作为key,
当你调用map.get(null)的时候,HashMap也会用NULL_KEY来作为key返回数据
如果你有兴趣的话可以看下HashMap的源码,装JDK的时候装了源码就可以到安装目录下找到src.zip包里面是javaAPI的源码,没装的话只有去下载了,
求大神告知 下面这个 java code是什么意思啊
这段代码应该是实现一个map类对象的排序实现了一个Comparable接口,然后调用了
comparaTo方法将元素进行了排序。最后将排序后的元素添加到sortedEntries里
Comparable接口是一个内置的可以自定义排序方式的内置接口,比如Integer,char等包装类内部都实现了Comparable接口来自定义一个排序的方式,实现的方法是compareTo(value){
//在代码中,返回0,1,-1 3个参数分别对应1交换位置-1不交换 0比较的两个值相同。
}
static<K,V extends Comparable<? super V>>
//一个静态的类型必须是键值对并且是实现了Comparable接口的类型
SortedSet<Map.Entry<K,V>> entriesSortedByValues(Map<K,V> map){
//排序集合传入一个Map的静态对象并且键值对是K/V类型的入口排序按照他的值
//前边一整段应该都是名字写的比较规范吧,知识有限只能了解这么多
//括号中是参数传入的是一个Map类型的参数 map
SortedSet<Map.Entry<K,V>> sortedEntries= new TreeSet<Map.Entry<K,V>>(
//实例一个对象 sortedEntries他接收的是一个TreeSet类型的变量保存的是指定的类型
//也就是Map.Entry<k,v>类型
new Comparator<Map.Entry<K,V>>(){
//排序没有使用内置排序接口Comparable而是使用的Comparator他和Comparable的
//区别就是一个是排序方法写在实现了Comparable接口的内部
//一个是当元素需要调用sort时才使用
@Override public int compare(Map.Entry<K,V> e1, Map.Entry<K,V> e2){
//重写了Comparator内部的compara方法返回一个int值
int res= e2.getValue().compareTo(e1.getValue());
//最后的实际排序还是使用的Comparable接口的comparaTo方法
//写的有点啰嗦应该是可以直接用Comparable排序的又new了一个
//Comparator,他是把两种排序方式组合使用了,Comparable定义了排序的方式
//Comparator执行排序的操作
return res!= 0? res: 1;
//返回结果如果res不等于0为真就返回res的值,假返回1
}
}
);
sortedEntries.addAll(map.entrySet());
//代码截的不全这应该是排序后将元素添加到整个队列中。
return sortedEntries;
//然后将整个队列返回
//个人理解有不对的地方谅解。
}
关于java 中 entry 是什么意思,java中什么叫entryset的介绍到此结束,希望对大家有所帮助。