java之SET集合与MAP集合以及I/O流

SET集合与MAP集合以及I/O流:

set集合讲了如何保证元素的唯一性:

代码实例:

public static void demo03(){

Student stu1 = new Student("张无忌",18);

Student stu2 = new Student("李寻欢",21);

Student stu3= new Student("李白",22);

Student stu4 = new Student("白居易",22);

Student stu5 = new Student("张无忌",18);

Student stu6 = new Student("奥特曼打怪兽",21);

Set<Student> set = new HashSet<Student>();

set.add(stu1);

set.add(stu2);

set.add(stu3);//地址值不同,set是看hashcode值是否相等的

set.add(stu4);//,如果相等就要重写一个equals和hashcode的方法进行判断属性是否相同

set.add(stu5);//以此保证唯一性

set.add(stu6);

for(Object obj:set){

System.out.println(obj);

/*未重写时输出结果;重写后不会输出重复的1属性

学生姓名:李白,学生年龄22

学生姓名:李寻欢,学生年龄21

学生姓名:张无忌,学生年龄18

学生姓名:张无忌,学生年龄18

学生姓名:李寻欢,学生年龄21

学生姓名:白居易,学生年龄22

*/

}

以及MAP集合:

及其性质:

public static void main(String[] args) {

Demo01();

System.out.println("==========================================");

Demo02();

System.out.println("============================================");

Demo03();

}

public static void Demo01(){

Map<String, String>  map = new HashMap<String,String>();

//  键key , 值value

map.put("001", "孙俪");

map.put("002", "黄晓明");

map.put("003", "李亚男");

map.put("004", "晴空万里");

map.put("004", "晴空万里");

map.put("004", "晴空万里");

System.out.println(map.get("001"));//获取第一个键值对应元素//必须通过键值来获取值,

//不能用索引获取

System.out.println("========================================================");

Set keys = map.keySet();//[001,002,003,004]获取集合中链的集合

System.out.println("==============遍历1================");

for(Object obj:keys){

String key = (String)obj;

String value =map.get(key); 

System.out.println((String)obj);

System.out.println(value);

/*输出结果

001

孙俪

002

黄晓明

003

苏绪

004

晴空万里

*/

System.out.println("==============遍历2================");

Collection vals = map.values();//获取集合中集合的值

for(Object obj2:vals){

String value2 = (String)obj2;

System.out.println(value2);

/*输出结果

孙俪

黄晓明

苏绪

晴空万里

*/

}

}

public static void Demo02(){

Map countries = new HashMap();

countries.put("CN", "中华人民共和国");

countries.put("FR", "法兰西共和国");

countries.put("US", "美利坚合众国");

countries.put("UK", "大不列颠渝北爱尔兰联合国");

//显示"CN"对应国家的中文全称

System.out.println("=====================================");

String country = (String)countries.get("CN");

System.out.println("CN对应的国家是:"+country);

//显示集合中元素个数

System.out.println("===============显示集合中元素个数=================");

System.out.println("Map中有:"+countries.size());

//两次判断Map中是否存在“FR”键

System.out.println("==================两次判断Map中是否存在“FR”键====================");

System.out.println("Map中是否包含“FR”的key:"+countries.containsKey("FR"));

countries.remove("FR");

System.out.println("Map中是否包含“FR”的key:"+countries.containsKey("FR"));

//分别显示键集、键值和键值对集

System.out.println("==============分别显示键集、键值和键值对集====================");

System.out.println(countries.keySet());

System.out.println(countries.values());

System.out.println(countries);



//清空HashMap并判断

System.out.println("=============清空HashMap并判断================");

countries.clear();

if(countries.isEmpty()){

System.out.println("已清空数据");

}

}

public static void Demo03(){

Map<String, Student>  hashMap = new HashMap<String,Student>();

Student s1 = new Student("吴京",15);

Student s2 = new Student("成龙",25);

Student s3 = new Student("李连杰",35);

Student s4 = new Student("甄子丹",55);

Student s5 = new Student("李小龙",21);

//Teacher tea1 = new Teacher("雨晴","晴空万里");

//添加元素

hashMap.put("005", s1);

hashMap.put("006", s2);

hashMap.put("007", s3);

hashMap.put("008", s4);

hashMap.put("009", s5);

//hashMap.put("010",tea1);

Set<String> set = hashMap.keySet();//遍历

for(String key:set){

//按理说,应该是String类型

//但是却没有说String类型

Student value = hashMap.get(key);

System.out.println(key+"-----"+value.getName());

}



}

I/O流:

public static void main(String[] args) throws IOException {

//创建File对象

File file = new File("d:\\text1.txt");

try {

file.createNewFile();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}//返回boolean,如果不存在就创建,返回true,如果存在就不创建,返回false

 

 

//在现有文件下创建文件

File file1 = new File("d:\\hello\\a.txt");

System.out.println("createNewFile"+file1.createNewFile());

 

//未明确文件所创建的位置

File file2 = new File("b.txt");

file2.createNewFile();

 

//创建文件夹

File file3 = new File("d:\\hw");

file3.mkdir();//创建目录,返回Boolean类型

 

//创建多层次目录

File file4 = new File("d:\\aa\\bb\\cc\\dd");

System.out.println(file4.mkdirs());

}

public static void Demo01() throws IOException{

//另外两种方法创建文件夹

File file2 = new File("d:\\hello","a.txt");

System.out.println("createNewFile"+file2.createNewFile());

 

}

public static void Demo02() throws IOException{

//另外两种方法创建文件夹

File file = new File("d:\\hello");

File file2 =new File(file,"a.jpg");

System.out.println("createNewFile"+file2.createNewFile());

}

public static void Demo03() throws IOException{

File file = new File("d:\\hw");

System.out.println(file.mkdir());



File file2 = new File("d:\\hw\\a.txt");

file2.createNewFile();

//删除文件

//删除错误,文件夹必须为空才能删除

//System.out.println(file.delete());

System.out.println("=============================");

//所以先删除里面的文件在删除文件夹

file2.delete();

file.delete();

}

public static void Demo04() throws IOException{

File file = new File("d:\\hello\\a.txt");

//判断是否为目录

System.out.println("=================判断是否为目录===============");

System.out.println(file.isDirectory());

//判断是否为文件

System.out.println("=================判断是否为文件=================");

System.out.println(file.isFile());

 

//判断是否存在

System.out.println("===============判断是否存在========================");

System.out.println(file.exists());

 

//如果不存在才创建

if(!file.exists()){

System.out.println(file.createNewFile());

 

}

//如果存在才删除

if(file.exists()){

System.out.println(file.delete());

}

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值