- 浏览: 1588641 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
Map练习
Map扩展
/**练习 * "sdfzesacwedcvde"获取该字符串中字母出现的次数 * 希望打印结果为a(1)c(2).... * * 通过 结果发现,没一个字母都有对应的次数. * 说明字母和次数之间都有映射关系 * * 注意了.当发现有映射关系时,可以选择map集合. * 因为Map集合中存放的就是映射关系. * * 什么时候使用Map集合呢? * 但数据之间存在这种关系时,就要先想map集合. * * 思路: * 1.将字符串转换成字符数组,应要对每个字母进行操作 * 2.定义Map容器,因为答应结果的字母有顺序,所以使用TreeMap集合 * 3.遍历字符数组 * 将每个字母作为键去查Map集合,如果返回null,将该祖母和1存入到map集合中 * 如果返回不是null,说明该字母在map集合中不存在并有对应次数 * 那么获取该此数据进行自增,然后键该字母和自增后的次数存入到map集合中,覆盖调用原来键所对应的值 * * 4.将map集合中的数据变成指定格式的字符串返回 * */ public class MapDemo4 { public static void main(String[] args) { System.out.println(charCount("aabx,.op.po./[fcdadsfdefa")); } public static String charCount(String str){ char[] chs=str.toCharArray(); TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>(); Integer value=0; for(int x=0;x<chs.length;x++){ //不统计非法字符 if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='X')) continue; value=tm.get(chs[x]); if(value==null) value=0; value++; tm.put(chs[x], value); value=0; } Set<Map.Entry<Character, Integer>> sme=tm.entrySet(); StringBuffer sb=new StringBuffer(); Iterator<Map.Entry<Character,Integer>> it=sme.iterator(); while(it.hasNext()){ Map.Entry<Character, Integer> me=it.next(); sb.append(me.getKey()+"("+me.getValue()+")"); } return sb.toString(); } }
Map扩展
/** * Map扩展 * map集合被使用,是因为具备映射关系 * * "预热帮" "01" "张三" * "预热帮" "02" "李四" * * "就业办" "01" "王武" * "就业办" "02" "招六" * */ class Students{ private String id; private String name; Students(String id,String name){ this.id=id; this.name=name; } public String getId(){ return id; } public String getName(){ return name; } } public class MapDemo5 { public static void main(String[] args) { method(); System.out.println("================"); method1(); } public static void method1(){ Map<String,List<Students>> school=new HashMap<String,List<Students>>(); List<Students> yureban=new ArrayList<Students>(); yureban.add(new Students("01","张三")); yureban.add(new Students("02","李四")); List<Students> jiuyeban=new ArrayList<Students>(); yureban.add(new Students("01","王武")); yureban.add(new Students("02","招六")); school.put("yureban", yureban); school.put("jiuyeban", jiuyeban); Set<String> keySet=school.keySet(); Iterator<String> it=keySet.iterator(); while(it.hasNext()){ String key=it.next(); List<Students> list=school.get(key); getInfo(list); } } public static void getInfo(List<Students> list){ Iterator<Students> it=list.iterator(); while(it.hasNext()){ Students str=it.next(); System.out.println(str.getId()+":"+str.getName()); } } public static void method(){ Map<String,HashMap<String,String>> school=new HashMap<String,HashMap<String,String>>(); HashMap<String,String> yureban=new HashMap<String,String>(); HashMap<String,String> jiuyeban=new HashMap<String,String>(); yureban.put("01", "张三"); yureban.put("02", "李四"); jiuyeban.put("01", "王武"); jiuyeban.put("02", "招六"); school.put("yureban", yureban); school.put("jiuyeban", jiuyeban); getStuInfo(yureban); getStuInfo(jiuyeban); Set<String> keySet=school.keySet(); Iterator<String> it=keySet.iterator(); while(it.hasNext()){ String key=it.next(); System.out.println(key+":"); HashMap<String,String> hm=school.get(key); getStuInfo(hm); } } public static void getStuInfo(HashMap<String,String> room){ Iterator<String> it=room.keySet().iterator(); while(it.hasNext()){ String key=it.next(); String value=room.get(key); System.out.println(key+":"+value); } } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 994public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2280经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5649package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 979import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1054/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1005//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1822更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1415import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 813import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2395import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 922// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1170import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 799import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1144import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3889import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 964/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1019import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1837Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1000/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2228package out; import ja ...
相关推荐
15 第15天Map集合.docx 16 第16天IO流.docx 17 第17天字节流.docx 18 线程.docx 19 网络编程.docx 2 拓薪教育-java基础语法.docx 3 J2SE程序的流程控制.docx 5 第5天面向对象.docx 6 static静态关键字和单例模式....
Java基础18天 Typora笔记概述 这是一份专为Java初学者准备的学习资源,由魔乐科技提供,旨在帮助用户在18天内建立起坚实的Java编程基础。Typora是一款简洁而高效的Markdown编辑器,使得笔记整理和阅读更加便捷。...
9. **集合框架**:Java集合框架包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。理解它们各自的特点和应用场景,学习泛型、迭代器和并发集合的使用。 10. **多线程**:...
这期间,学员将通过每一天的学习和编码实践,掌握从第16天到第25天的Java高级特性,如并发编程、集合框架的深入使用、IO流、网络编程、异常处理、设计模式等关键知识点。 【标签】"java-毕向东" 显示了课程的专业...
8. **集合框架**:Java集合框架包括List、Set、Queue和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类,它们提供了数据组织和操作的多种方式。 9. **多线程**:Java内置了对多线程的支持,学习者...
7. **集合框架**:Java集合框架包括接口(如List、Set、Map)和实现类(如ArrayList、LinkedList、HashSet、HashMap等),是存储和管理对象的重要工具。 8. **输入/输出流**:Java的I/O流用于处理数据的输入和输出...
### 达内Java课程——Java核心编程10天知识点详解 #### 散列表Map - **概念**: 散列表是一种非常高效的数据结构,它通过特定的哈希函数将键值映射到表的一个位置来访问记录,这使得查找操作能在平均时间复杂度为O(1...
"18天Java学习之经典笔记"是一份专为快速掌握Java基础知识而设计的学习资料,适用于那些希望在短时间内复习、备考或者准备面试的人员。这份笔记涵盖了Java的核心概念,通过18天的学习计划,帮助读者逐步理解并熟练...
Java支持多线程编程,第15天至第16天的学习内容可能涵盖线程的创建、同步机制(如synchronized关键字、wait()、notify()等)、线程池的使用,这些都是并发编程的关键。 七、反射与注解 第17天可能涉及Java的反射...
10. **集合框架**:Java集合框架包括List、Set和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。理解它们的区别和应用场景,以及泛型的使用。 11. **多线程**:Java提供了Thread类和Runnable接口...
12. **集合框架**:Java集合框架包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。理解它们的特性和使用场景。 13. **输入/输出流**:学习如何使用InputStream、...
14. **集合框架**:Java集合框架包括List、Set、Queue和Map等接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等,用于存储和管理对象。 15. **输入输出流**:Java的I/O流系统支持读写文件、网络通信等...
10. **Day17 - 集合框架**: 了解Java集合框架,包括List, Set, Queue接口及其实现类,如ArrayList, LinkedList, HashSet, TreeSet, Stack等,以及Map接口和HashMap, TreeMap等。 11. **Day18 - 多线程**: 掌握Java...
第一篇 基础篇 第1章 Java简介(精彩视频:33分钟) 21 1.1 Java的平台简介 21 1.2 安装工具包 22 1.2.1 下载JDK 22 1.2.2 安装JDK 24 1.2.3 查看与设置环境变量 25 1.2.4 JDK常用命令 27 1.2.5 Java各个目录含义 28...
总结以上各点,可以看出这些知识点涵盖了Java编程语言的多个重要方面,包括基础语法、面向对象编程、异常处理、集合框架、内存管理、多线程等,这些内容对于Java程序员掌握和应用Java语言都是至关重要的。
15. **Java集合框架**:深入学习List、Set、Map接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等,以及它们的适用场景。 16. **Java IO/NIO**:了解传统的IO模型和非阻塞IO模型(NIO),以及Java 7...
49. **List、Set、Map与Collection的关系**:`List`、`Set`继承自`Collection`接口,`Map`不是`Collection`的子接口。 50. **面向对象的特征**:封装、继承、多态。 51. **String是最基本的数据类型吗**:不是,它...