String的不变性,LinkedList,Set和Map集合-创新互联
1.1String是一个final类,代表字符串,字符串是常量;他们的值在创建之后不能被更改。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比江州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式江州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖江州地区。费用合理售后完善,10余年实体公司更值得信赖。1.2String的赋值原理:直接在内存中查找,有没有你所赋值的字符串,如果存在这个字符,则把他的地址赋值给变量,如果不存在,创建这个字符串.然后把该字符串的地址赋值给变量。
例如:
public static void main(String[] args) {
String s1=new String("abc");
String s2="abc";
String s3="abc";
System.out.println(s1==s2);//false
System.out.println(s2==s3);//true
}
这里所说的不可变是指创建的"abc"字符串的内存已经固定下来了,这个字符串会一直在内存中存在。是不可变的。
如图:
s1重新赋值后找到内存为xyz的字符串,更改地址引用,如果没有内存中没有xyz这个地址,先创建xyz这个字符串然后把这个地址赋值给s1,而不是直接将abc变成xyz,因为它具有不变性。
1.3如果经常变化的字符串不推荐使用String定义,因为变化一次就要在储存中创建一个字符串(java中有一个强大的垃圾回收机制,自动释放垃圾资源),因此可以使用Stringbuffer。
常用方法:
1.3.1
根据ASCII码表而得97-104对应的英文字母是abcdefgh
1.3.2
输出结果是cde
1.3.3
1.3.4 endsWith()
输出是true
1.3.5 getBytes() toCharArray()
1.3.6 indexOf() lastIndexOf() replace(a,b)
1.3.7 substring()
1.3.8 split()
1.3.9 trim()
返回字符串的副本,忽略前导空白和尾部空白。即去除空格 |
1.3.9 toLowerCase() toUpperCase()
二,LinkedList集合2.1LinkedList集合数据储存的是链表结构,查询慢,增删快。与ArrayList不同的是:ArrayList是数组结构,元素增删慢,查找快,日常使用最多的就是查找数据,遍历数据,所以ArrayList是最常用的集合。
ArrayList新增元素是在最后面开辟新的空间,元素依次往后移动,空出来的位置,插入新元素。
LinkedList直接把两个元素的关键断开,构建与新元素的联系。
LinkedList提供了大量首尾操作的方法如下:
三,Set集合
3.1set接口和list接口一样,它所存的元素是不可重复的,并且元素都是无序的(即存和取的顺序不一致)
HashSet是根据对象的哈希值来确定元素在集合中的储存位置,因此具有良好的存取和查找性能,保证元素唯一性的方式依赖于:HashCode与equals方法。
通俗的理解就是小学生的书包,添加元素就是直接把元素扔进去,没有任何顺序,所以元素不能重复
四,Map集合
概念:
Map是一种键值对(key-value)的集合,Map集合中每一个元素都包含一个键对象和一个值对象,其中键Key对象不允许重复,而值Value对象可以重复。
Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能影射一个相同的value,key值还决定了存储对象在映射中的存储位置
map的常用方法:
1.添加:
put(K key,V value)
2.删除
remove(Object key)
例如:
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章名称:String的不变性,LinkedList,Set和Map集合-创新互联
网页URL:http://scjbc.cn/article/psops.html