目录

正则表达式

Java集合


正则表达式

昨天简单的介绍了一下正则表达式(好吧,就说了一句)。个人觉得这个玩意挺神奇,挺好玩,但是我不容易直接表述的很清楚。就简单讲点理论上的东西吧。

1. 正则表达式是一个用于匹配字符串的模板。实际上,任意字符串都可以当成正则表达式使用,例如“abc”,它也是一个正则表达式,只是它只能匹配“abc”字符串。

2. 创建正则表达式:

创建正则表达式就是创建一个特殊的字符串。在这个表达式中,有很多的字符,预定义字符、边界匹配符、特殊字符等。具体大家自行百度好了。

正则表达式支持的数量标识符有如下几种模式:

(1)Greedy(贪婪模式)

(2)Reluctant(勉强模式)

(3)Possessive(占有模式)

3. 使用正则表达式:

一旦在程序中定义了正则表达式,就可以使用Pattern和Matcher来使用正则表达式。

Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先被编译成Pattern对象,然后再利用Pattern对象创建对应的Matcher对象。执行匹配所涉及的状态保留在Matcher对象中,多个Matcher对象可共享同一个Pattern对象。

通过Matcher类的find()和group()方法可以从目标字符串中依次取出特定子串。

举个栗子:

上面展示的是在一些文字中自动寻找出电话号码的代码。

红框中的就是在创建Pattern和Matcher对象,目的是寻找电话号码,引号中的含义是:13开头或者15开头,后面随意跟一个阿拉伯数字,然后再随意跟8个数字的字符串。下面的蓝框就是通过find和group方法获得所需要的字符串。结果如下:

还是很神奇的对吧!如果程序再进一步,可以从网上提取超链接信息,再根据超链接打开其他网页,然后再其他网页上重复这个过程就可以实现简单的网络爬虫了。

其实还有很多比较好的操作,但是我不想写~后面就是什么国际化与格式化什么的,现在不想看~第七章过了~~噢耶!!!

Java集合

    java集合类是一种特别有用的工具类,可用于存储适量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。Java集合大致可以分为Set、List、Queue和Map四种体系,其中Set表示无序,不可重复的集合;List表示有序,重复的集合;而Map表示既有映射关系的集合;Java5又增加了Queue体系集合,代表一种队列集合实现。

Java集合概述

为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。

集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象;而集合里只能保存对象。

Java的集合类主要是由两个接口派生而出:Collection和Map。

将Java所有集合分成三大类:Set集合、List集合、Map集合。

《疯狂Java讲义》9相关推荐

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

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

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

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

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

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

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

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

  5. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  6. 李刚疯狂java讲义第3_【Java】-NO.16.EBook.4.Java.1.009-【疯狂Java讲义第3版 李刚】- 泛型...

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.009-[疯狂Java讲义第3版 李刚]- 泛型 Style:EBook Series:Java Si ...

  7. [疯狂Java讲义精粹] 第十三章|类加载机制与反射

    java.lang.reflect包下的接口和类, 包括Class, Method, Filed,Constructor和Array等, 这些类分别代表类, 方法, Field, 构造器和数组, Ja ...

  8. 疯狂Java讲义:P200接口

    接口 Output package lee; public interface Output {//接口里定义的成员变量只能是常量int MAX_CACHE_LINE=50;//接口里定义的只能是pu ...

  9. 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏

    编写控制台的五子棋游戏 昨天复习了下<疯狂Java讲义>,完成前几章的习题, 现在基本完成了控制台五子棋游戏的编写,能够按照要求 保证用户下和电脑下的棋上不能已经有棋子 判断横.竖.左斜. ...

  10. 《疯狂Java讲义》读书笔记5

    目录 Java的集合类 Inerator 接口 Set 集合 HashSet 类 LinkedHashSet 类 TreeSet 类 EnumSet 类 List 集合 ArrayList 和 Vec ...

最新文章

  1. MATLAB【二】————图像做减法,批量文本处理,子图显示
  2. 报名 | 大数据打造智慧的政府门户讲座
  3. 053_Unicode字符官方标准四
  4. oracle 怎么拼,ORACLE 简化拼接
  5. keil4编译c语言,用keil4编译C语言代码,编译通过,但是链接时无法产生.hex文件。...
  6. 2016OSC源创会年终盛典-综合技术专场-张小刚
  7. python postgresql跨数据库操作_python 操作postgres数据库
  8. 采用MATLAB的DSP调试方法
  9. 《从Excel到R 数据分析进阶指南》一第1章 生成数据表1.1 导入数据表
  10. linux中指令简约版
  11. bzoj2705: [SDOI2012]Longge的问题
  12. java删除文件目录及文件_Java删除文件,目录
  13. csdn广告屏蔽方法
  14. 国外十大在线支付服务网站
  15. vimdiff常用命令详解
  16. 小米投资美的布局智能家居 董明珠呛声:两个骗子
  17. Youtube视频推荐算法:从10页论文到4页论文的变迁
  18. HTTP/2 stream 1 was not closed cleanly before end of the underlying stream
  19. TMS570学习【2】pwm输出
  20. 校园卡系统(需调试)

热门文章

  1. 3:添加一个slave到已有的复制环境(基于二进制日志文件位置)
  2. H5学习从0到1-H5的基本标签(2)
  3. Spring Cloud 微服务入门(二)--Spring Cloud 架构
  4. 转:万字总结:学习MySQL优化原理,这一篇就够了!
  5. Java 编译期与运行期,别傻傻分不清楚!
  6. 5年没有工资收入,他如何支撑世界上最大的免费编程社区?
  7. 有感于任正非老爷子的发言
  8. 软件开发中的开源协议详解!
  9. 刚换工作,记录下心得
  10. 多线程:多线程优缺点、应用场景