java学习总结(二)

HashMap

 *HashMap集合本身基于哈希表

 * 它可以保证键的唯一性(Map都是针对键有效),对象作为键要保证重写了equals()方法

 * HashMap<Student,String>

例子:

                public static void main(String[] args) {
		HashMap<Student,String> map = new HashMap<Student,String>();
		Student s1 = new Student("西施", 27) ;
		Student s2 = new Student("杨贵妃", 35) ;
		Student s3 = new Student("王昭君", 30) ;
		Student s4 = new Student("貂蝉",28) ;
		Student s5 = new Student("西施", 27) ;
	
		
		//添加元素
		map.put(s1, "元朝") ;
		map.put(s2, "宋朝") ;
		map.put(s3, "唐朝") ;
		map.put(s4, "清朝") ;
		map.put(s5, "金") ;
		
		Set<Student> set = map.keySet();
		for(Student s : set) {
			String value = map.get(s);
			System.out.println(s.getName()+"---"+s.getAge()+"---"+value);
		}
	}
结果:
杨贵妃---35---宋朝
王昭君---30---唐朝
西施---27---金
貂蝉---28---清朝

LinkedList

 *LinkedHashMap<K,V> :是Map接口基于哈希表和链接列表实现的
 *哈希表保证键的唯一性

 *链接列表保证元素有序性(存储和取出一致)

  例子:

                public static void main(String[] args) {
		LinkedHashMap<String, String> map = new LinkedHashMap<String,String>() ;
		
		//添加元素
		map.put("it001", "hello");
		map.put("it002", "mysql");
		map.put("it003", "world");
		map.put("it004", "javaweb");
		map.put("it001", "javaee");
		
		Set<String> set = map.keySet() ;
		for(String key :set) {
			String value = map.get(key) ;
			System.out.println(key+"----"+value);
		}
	}
结果:
it001----javaee
it002----mysql
it003----world
it004----javaweb

TreeMap

 *TreeMap基于红黑树结构的Map接口的实现

   数据按一定的规则进行排序存储,自定义类作为键有两种排序方法:

     1)自然排序(自定义类实现Comparable接口并且重写其中的compareTo方法

     2)比较器排序,Comparator 重写compare方法

实例:

                public static void main(String[] args) {
		
		//创建一个TreeMap集合,使用比较器排序的方式
		//匿名内部类的方式
		TreeMap<Student, String>  tm = new TreeMap<Student,String>(new Comparator<Student>() {

			@Override
			public int compare(Student s1, Student s2) {
				
				//主要条件:年龄从小到大
				int num =s1.getAge() -s2.getAge() ;
				//年龄相同,不一定姓名一样
				int num2 = num ==0 ? s1.getName().compareTo(s2.getName()): num ;
				return num2 ;
			}
			
		} );
		
		//创建学生对象
		Student s1 =  new Student("唐伯虎", 28) ;
		Student s2 =  new Student("杜甫", 35) ;
		Student s3 =  new Student("李白", 40) ;
		Student s4 =  new Student("李清照", 32) ;
		Student s5 =  new Student("唐伯虎", 28) ;
		Student s6 =  new Student("苏轼", 35) ;
		
		//添加到集合中
		tm.put(s1, "宋代") ;
		tm.put(s2, "唐代") ;
		tm.put(s3, "唐代") ;
		tm.put(s4, "宋代") ;
		tm.put(s5, "清代") ;
		tm.put(s6, "清代") ;
		
		
		//遍历
		Set<Student> set = tm.keySet() ;
		for(Student key :set) {
			String value = tm.get(key) ;
			System.out.println(key.getName()+"---"+key.getAge()+"---"+value);
		}
	}
结果:
唐伯虎---28---清代
李清照---32---宋代
杜甫---35---唐代
苏轼---35---清代
李白---40---唐代

Hashtable

 *        HashMap集合和Hashtable的区别?
 *        共同点:都是map接口的实现类,都是基于哈希表的实现类
 *        Has

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XMind是一款功能强大的思维导图软件,可以帮助开发者更好地组织和管理自己的学习进程。对于Java开发学习来说,XMind可以扮演着重要的角色。 首先,XMind可以用来制定学习计划。在学习Java开发的过程中,我们需要系统地学习各个方面的知识,包括语法、面向对象思想、数据结构等等。使用XMind,我们可以将这些知识点以树状结构组织起来,清晰地列出每个知识点的内容,规划好学习的先后顺序。这样一来,我们就可以明确自己需要学习的内容,并制定相应的学习计划。 其次,XMind还可以用来整理学习笔记。在学习过程中,我们难免会遇到各种各样的问题和知识点。使用XMind,我们可以将这些问题和知识点整理成思维导图,清晰地呈现出与学习相关的核心概念和关系。这样一来,我们可以更好地理解和掌握学习内容,并在需要的时候轻松地找到相关的知识点。 另外,XMind还可以用来复习和总结学习成果。随着学习的进行,我们掌握的知识点越来越多。使用XMind,我们可以将已经学习过的知识点整理成思维导图,复习和回顾学习过程中的重要内容。这样一来,我们可以巩固已经掌握的知识,并发现可能存在的问题和不足。 总之,XMind可以作为学习Java开发的有效工具,有助于规划学习进程、整理学习笔记、复习和总结学习成果。通过合理地使用XMind,我们可以更高效地学习Java开发,并在实践中不断提升自己的技能水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值