java 使用map集合出现的问题
来源:互联网 发布:农村淘宝app家乡版 编辑:程序博客网 时间:2024/04/29 03:37
package shop.src;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
public class BookShop {
//商品的管理类
/*
* 实现读取商品信息文件
* ShowBook()方法展示所有的商品信息
*实现原理解释
*第一步:读取商城文件
*第二步:展示商品
* Buybook()方法实现购买商品
* 第一步:读取商城文件
* 更改某种商品的信息
* 把更改后的信息保存在商城文件中
* 第二步:把购买信息存入用户的购买文件中
* */
private String path;
//获取文件的路径
public String GetProjectPath() throws IOException{
File directory = new File("");//参数为空
String FilePath=null;
FilePath = directory.getCanonicalPath();
return FilePath;
}
public Map<Integer, Book> ShowBook() throws IOException
{
path = GetProjectPath()+File.separator+"BookShop.txt";
BufferedReader in= new BufferedReader(new FileReader(path));
String content = "8";
int key = 0;
Map<Integer, Book> map = new LinkedHashMap<Integer, Book>();//这里泛型都是用对象的,基本类型不可
Book BookInfo = new Book();
Book Book1 = new Book();
while(content!=null)
{
content = in.readLine();
if(content != null){
BookInfo.autoDisassemble(content);
System.out.println("while key:"+key+";BOOK:"+Book1.atuoEncapsulation());
key++;
}
}
Book1=map.get(0);
System.out.println("key:"+0+";BOOK:"+Book1.atuoEncapsulation());
return map;
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
public class BookShop {
//商品的管理类
/*
* 实现读取商品信息文件
* ShowBook()方法展示所有的商品信息
*实现原理解释
*第一步:读取商城文件
*第二步:展示商品
* Buybook()方法实现购买商品
* 第一步:读取商城文件
* 更改某种商品的信息
* 把更改后的信息保存在商城文件中
* 第二步:把购买信息存入用户的购买文件中
* */
private String path;
//获取文件的路径
public String GetProjectPath() throws IOException{
File directory = new File("");//参数为空
String FilePath=null;
FilePath = directory.getCanonicalPath();
return FilePath;
}
public Map<Integer, Book> ShowBook() throws IOException
{
path = GetProjectPath()+File.separator+"BookShop.txt";
BufferedReader in= new BufferedReader(new FileReader(path));
String content = "8";
int key = 0;
Map<Integer, Book> map = new LinkedHashMap<Integer, Book>();//这里泛型都是用对象的,基本类型不可
Book BookInfo = new Book();
Book Book1 = new Book();
while(content!=null)
{
content = in.readLine();
if(content != null){
BookInfo.autoDisassemble(content);
map.put(key, BookInfo);
//这里有bug,在java中除了基本类型以外,其他的都是存入的地址,这里Bookinfo是一个对象的地址,因为一直使用的是一个对象,所以地址是没有变化的,不用的key值后面,更寻的都是同一一个地址,所以在去数据的时候,都是得到的相同数据
解决办法定义对象数组
Book1=map.get(key);System.out.println("while key:"+key+";BOOK:"+Book1.atuoEncapsulation());
key++;
}
}
Book1=map.get(0);
System.out.println("key:"+0+";BOOK:"+Book1.atuoEncapsulation());
return map;
}
}
0 0
- java 使用map集合出现的问题
- JAVA中Map集合的使用举例
- JAVA学习--集合Map的使用
- Java集合的使用:List与Map
- java基础之Map集合的使用
- 使用map集合统计字符串中字母出现的次数
- Java Map集合获取字符串中的字母出现的次数
- Java集合框架总结之Map集合的使用
- Java学习之旅--集合的使用(Map集合)
- Map集合的使用
- Map集合的使用
- map集合的使用
- map集合的使用
- java的集合 Map集合,HashMap集合,LinkedHashMap集合 使用方式及遍历
- Java集合之map 集合使用
- java中的集合框架Collection 接口 Map接口的问题
- Map集合的修改问题
- Java笔记——集合类:Map的使用
- HDU 3664 Permutation Counting (DP)
- STL vector用法介绍
- tomcat的安装和配置及各组件详细解释(mac下)
- 感谢互联网的陪伴!
- 第一个Android应用
- java 使用map集合出现的问题
- 【LightOJ】[1198]Karate Competition
- HDU 4893 Wow! Such Sequence!
- 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
- 数列An=n+{sqrt(n)} 的相关证明
- MVC设计模式
- 轮播插件--Flexslider图片轮播、文字图片相结合滑动切换效果
- Java中内部类
- POJ 3630 trie树模板