java集合 - 容器
      作用: 用于装对象。调用它的方法装对象、取对象、删除对象、遍历对象……

方法的用法 - 用对象.方法名(参数值)

Map
      Map里存的东西是:key-value对。
      假如要存放用户的成绩,要用如下数据结构:
         语文:89
         数学:87
         英语:56

假如要存放一个的身体状况:
         身高:183
         体重:69
         血压:55/133

Map不允许key重复!
    
     ....

在这种数据中,每项数据都是 key-value 对 组成。

假如我们把value,当成是key的“附属物”,
     Map存储key-value对时,只要考虑key的存储即可,key存储之后,value跟着key即可。

再进一步:如果只管Map里的key,并把所有的key收集起来 —— 就变成了Set。

Map与Set是一一对应。

HashSet底层是靠HashMap实现,HashMap用“hash”算法控制“一个萝卜一个坑”。
      TreeSet底层是靠TreeMap实现,TreeMap就是真正的红黑树。

对于Map而言,由于value只是附属物,因此Map对value几乎没有要求。

Map对key有要求。

====HashMap====

- 它会根据key的hashCode()方法的返回值来计算key的存、取位置。

HashMap怎样才算两个key重复?
         A。 通过equals比较返回true.
         B。 两个key的hashCode()返回值相等。

Hashtable与HashMap的区别:
       1. Hashtable是从JDK1.0就有的,尽量少用。
       2. Hashtable不允许使用null作为key、value。但HashMap允许!
       3. Hashtable是线程安全的(实现不好),
          HashMap是线程不安全的。HashMap性能好。
      除此之外,Hashtable与HashMap的几乎是相同。
     
       
====TreeMap====
   
    - 底层的红黑树只对key进行排序。

TreeMap要求key必须是可比较大小。
       A。 自然排序。要求所有key实现Comparable接口。
       B。 定制排序。要求创建TreeMap时提供一个Comparator接口。
     
    TreeMap怎样才算两个key重复?
       A。 通过compareTo()比较大小时返回0,这就表明两个元素相等。

异常处理
  
    异常机制,用于保障我们的程序更加健壮性(鲁棒性)。

以一个例子来说明,程序员开发的程序,无论用户怎么操作,它都可以正常应对。

对于一个五子棋来说,下面是比较“完善”的处理机制

if(用户输入包含非数字、逗号之外的其他字符)
    {
//  进行错误处理
    }
    else if(用户输入逗号)
    {
         // 在进行错误处理
    }
    else if(用户输入座标超出了范围)
    {
         // 又要进行处理
    }
    ……
    { 
         // 最后才进行业务处理。
    }

这种机制有如下两个问题:
     A。 永远不可能“穷举”所有错误,并进行处理。
     B。 代码“臃肿”得难以忍受。

牛人就想,能不能把上面代码简化为:

if(一切正常)
    {
          //进行业务处理。
    }
    else if(出现任何各种错误)
    {
//  进行错误处理
    }                           还是喜欢着个判断,哈哈

这就是Java 的异常处理。

try  // 尝试让它执行业务处理,如果可以执行完成,就代表了一切正常。
    {
          // 正常业务处理
    }
    catch(异常1 e1)
    {
//  进行异常1处理
    }
    catch(异常2 e2)
    {
//  进行异常1处理
    }
   
    不同的catch块负责对不同的异常进行处理。

■ 对于一个异常,最多只有一个catch块能捕捉到该异常。
    ■ 多个catch块捕捉异常,应该是先捕捉小的异常,再捕捉大的异常。
                                   先捕捉子类异常,再捕捉父类异常。

JDK 7提供了新功能:多异常捕捉。
    catch (类1 | 类2 | 类3 ... ex)

访问异常对象:

当catch块捕捉到异常时,异常对象会作为catch块的参数被传入。

因此在catch块可通过该参数来访问实际的异常对象。

- getMessage           返回异常的描述信息。
     - 输出异常的跟踪栈(堆栈)信息。

疯狂java  进行回顾相关推荐

  1. 疯狂java讲义视频百度网盘_疯狂Java讲义(4)配书视频-百度云

    [疯狂Java讲义(4)配书视频]由分享人菜**飞5于-03-1522:21上传到百度网盘.此页面由蜘蛛程序自动抓取,以非人工方式自动生成,只作交流和学习使用.本网站本身不储存任何资源文件,其资源文件 ...

  2. 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条

    http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...

  3. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天--JAVA基础回顾 这才学习Android的 ...

  4. java下载pdf6_疯狂java讲义第6版 电子版(pdf格式)

    疯狂java讲义第6版pdf是李刚打造的经典java编程图书的最新版,为了帮助更多的读者能真正掌握Java编程,感受到Java语言的魅力,领会到Java编程的快乐,作者根据多年来的Java授课经验,精 ...

  5. 《疯狂Java讲义精粹》读书笔记2 ------ 多态

    -----------------<疯狂Java讲义精粹>2读书笔记--------------- Java引用变量有两个类型: · 编译时类型(由声明该变量时使用的类型决定) · 运行时 ...

  6. java知识回顾_Java7 –回顾

    java知识回顾 我开始写博客文章,介绍即将发布的Java8版本中的新增功能 ,并认为我将从快速回顾一下Java7带给我们的内容开始. Java7于2011年7月发布,被描述为"更具进化性而 ...

  7. java知识回顾_Java – 2012年回顾和未来预测

    java知识回顾 这篇文章将重点讨论2012年发生的大小事件,并展望2013年的一些未来预测.其中一些预测将是诚实的猜测,而另一些则将是诚实的猜测. 好吧,只要说我的"恶魔般"的一 ...

  8. Java技术回顾之JNDI--实例

    一.JNDI在Java EE中的应用 JNDI 技术是Java EE规范中的一个重要"幕后"角色,它为Java EE容器.组件提供者和应用程序之间提供了桥梁作用:Java EE容器 ...

  9. java画图颜色_手绘板,多种颜色选择。我抄的《疯狂java讲义》的,包我乱导的,但代码能用。...

    [java]代码库import javax.swing.*; import java.awt.image.*; import java.awt.datatransfer.*; import javax ...

最新文章

  1. 港片中十个难以超越的经典人物形象
  2. 6421B Lab3 DNS的配置与故障排除
  3. MySQL的user表
  4. 离散数学实验题目-关系
  5. 推荐Chrome一款大气典雅神秘的主题 - 黑色系
  6. Kubernetes应用程序开发认证(CKAD) 经验分享
  7. 计算机视觉领域还有那些坑,深度学习/计算机视觉常见的8个错误总结及避坑指南...
  8. 数据科学 IPython 笔记本 8.2 Matplotlib 的应用
  9. 阿里 Java 性能调优手册,简直yyds
  10. 麻辣探:大学生就业翻译竞争激烈 IT制造需求大
  11. 新能源汽车整车控制器开发
  12. [4G5G专题-9]:RRU 数字上变频DUC与数字下变频DDC
  13. 我的世界服务器无限开号,我的世界开挂指令大全表一览!39条命令无限可能性
  14. 暗斑怎么形成的_脸上长暗斑详解
  15. java 实现限流器,可用于Rest接口请求处理 | Java工具类
  16. HTTP/HTTPS账号密码获取
  17. wget网站镜像下载
  18. javaEE练习(商城练习)
  19. 【异常】java: Internal error in the mapping processor: java.lang.NullPointerException
  20. Oracle创建定时任务教程

热门文章

  1. android 壁纸制作教程,教你如何自己制作安卓手机壁纸的方法教程
  2. 移植u-boot到stm32f407
  3. Ambari Server重启报错的解决办法
  4. Oracle 12.2 Flex ASM安装RU后ASM、GIMR等资源未启动, 手动启动提示CRS-2549“it is not a valid candidate as per the place
  5. Linux MTD子系统学习(二)
  6. 【论文解读】文本分类上分利器:Bert微调trick大全
  7. mosquitto1.6.2 Error: A TLS error occurred.(解决)
  8. tcp服务器修改端口号,RAKsmart服务器:Windows修改远程端口号的图文教程
  9. 微信图片去除马赛克_微信怎么把图片加上马赛克_微信如何将照片打码的方法介绍_3DM手游...
  10. 计算机在运行 显示器出现黑屏,显示器黑屏但电脑一直在运行是什么原因