String 是最重要的一种类型,也是字符串类型。
理论大多数类型都可以通过String互相转换。比如数组。
String 在很多语言都分有 可变长度 和 不可变长度。
基本的定义为: String a = "10";
以前老方式的定义为: String a = new String();
String 有多种构造函数,参见API
重提equals 和 ==
equals 一般比较的值
== 比较的是堆内存中的首地址
在系统中,一旦a2被定义同时,对象值为Hello。
那么如果这个对象没有被释放,那么下次再去
定义这个Hello的时候,肯定是使用相同内存地址。
String a2 = "Hello";
String a3 = "Hello";
因此,a2和a3同时指向一个内存空间。
String c = new String("10");
这句话的意思是实际上,相当于是2个对象在右侧。
String a = "10";
new String( a );
String中有很多非常有趣的方法。
比如:截取,替换,查找,比较
* charAt(int index)
返回指定索引处的 char 值。
length() 返回字符串的长度
compareTo
比较两个A和B字符串的字典顺序
如果A>B 输出大于0,
如果A==B 输出等于0
如果A<B 输出小于0
A.compareTo( B )
compareToIgnoreCase 忽略大小写比较
* startWiths 只是返回以某个字符串为前缀是否存在。
* q5.startsWith( q4 )
*
* replaceAll(String regex, String replacement)
使用给定的 replacement 替换此字符串所有匹配
给定的正则表达式的子字符串
split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。
* substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
* toLowerCase()
使用默认语言环境的规则将此 String
中的所有字符都转换为小写。
* toString()
返回此对象本身(它已经是一个字符串!)。
* toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
* trim()
返回字符串的副本,忽略前导空白和尾部空白。
valueOf(int i)
返回 int 参数的字符串表示形式。
indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
* StringBuffer 适应多线程安全的字符串。
* 1、执行速度较慢。
* 2、相对安全。
*
* StringBuilder 适应于非多线程的字符串。
* 1、执行速度快。
* 2、相对不安全。
*
* append 追加字符串
* delete 删除字符串
2、 * List 列表。可看作是可以改变的数组。
* List 和 Set都实现了 Collection接口
* List下面有ArrayList和LinkedList、Vector子类
* ArrayList 初始容量为10
* 根据每个数据类型在学习的时候 我们需要掌握四大操作:
* 1、增 add
* 2、删 remove, removeAll, clear
* 3、查 get contains indexOf isEmpty() size
* 4、改 set
3、 迭代 Iterator
其实就是把集合中的数据一个个取出
Iterator<Object> ter = list.iterator();
//如果仍有元素,继续迭代。用while写法
while( ter.hasNext() ){
System.out.println( ter.next() );
}
//for作用于for局部,即用完以后释放内存。推荐使用
for( Iterator<Object> ter1 = list.iterator();
ter1.hasNext(); ){
System.out.println( ter1.next() );
}
-collection
-List 有序的可变化长度的数组。数组里一般存放都是对象的引用
//ArrayList初始长度为10,每扩容+5;
-ArrayList 数据结构为:数组形式存在。适合于查询,修改操作,速度快
* -增 add() addAll()
* -删 remove() clear()
* -查 get() indexOf() size() contains()
* -改 set()
*
* -LinkedList 数据结构为:链表形式存在。适合于增加,删除操作,速度快
* -增 add() addAll() addFirst() addLast()
* offer() offerFirst() offerLast()
* push() //在尾部加入一个数据
* -删 remove() clear() pop() //在尾部提出一个数据 removeFirst()
* removeLast()
* -查 contains() get() getFirst() getLast() indexOf() lastIndexOf()
* //获取列表头不移除第一个/最后一个元素
* peek() peekFirst() peekLast()
* //获取不包括第一个元素的列表、获取不包括最后一个元素的列表
* poll() pollFirst() pollLast()
* size()
* -改 set()
*
* //初始长度为10 ,每次扩容+10;
* -Vector 数据结构为:数组形式存在。Vector是同步的,安全的,速度较慢。
* Java 枚举, 迭代的前身。
*
* subList(a , b) 获取某一段的列表值。开始截取的位置,结束截取的位置。
*
* -Set
* -HashSet
* -TreeSet
4、 * Set: 一组无序的集合
* -Set(集)
* //根据哈希值排序
* - HashSet:由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。
* 在HashSet内部是不允许添加重复数据。如果有,则不会添加,并且返回false
* 执行速度快
* -增 add()
* -删 remove() clear()
* -查 size() contains();
* -改 因为没有索引,所有东西要么删除 要么添加
*
* -LinkedHashSet:遵守add的顺序。
*
* - TreeSet (接近ASCII排序)
* //根据自然排序(树的形式),支持SortedSet排序
* //查询速度较慢
分享到:
相关推荐
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...
Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、方法和常量的详细说明。这份中文网页版的Java API文档为中国的开发者提供了便利,无需通过英文版本来学习和查找API信息,...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java...
java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作...
java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...
Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...