`
baiqian
  • 浏览: 37690 次
  • 性别: Icon_minigender_2
  • 来自: 河南
社区版块
存档分类
最新评论

黑马程序员—java基础—字符串、Collection集合

阅读更多

---------------------- android培训java培训、期待与您交流! ----------------------

 

 

字符串(String

常用字符串的操作:

1、初始化一个新字符对象new String();

2、charAt(int index);返回指定索引处的char值;

3、compareTo(String a,String b);按活字典的顺序比较两个字符串;

4、concat(String s);将指定字符串连接到此字符串结尾;

5、contains(char[] s);判断字符串中是否包含此字符串。

6、copyValueOf(char[] s);将字符数组转换成String 字符串;

7、endsWith(String s);判断此字符串是否以指定的后缀结束;

8、getBytes();String字符串转换成字节(byte)数组;

9、indexOf(String s)返回此字符串在指定字符串中第一次出现的索引位置

10、isEmpty()判断该字符串是否是空值当且仅当length()0时返回true

11、lastIndexOf()返回指定字符串在此字符串中最后一次出现的索引值

12、Length()返回字符串的长度

13、Replace(char oldChar,char newChar)返回一个新的字符串,

它是通过用newChar 替换此字符串中出现的所有oldChar

14、split(String s)用于分隔字符串

15、startsWith(String s)判断此字符串是否以指定的前缀开始。

16、Substring(int beginIndex,int endIndex)

返回一个新的字符串,它是此字符串的一个子字符串。

17、toCharArray()将此字符串转换为一个新的字符数组;

18、toLowerCase()将此字符串中所有的字符都转换为小写;

19、toUpperCase()将此字符串中所有的字符都转换为大写;

20、Trim()删除字符串中的前后空格;

21、valueOf(char c)char转换成字符串

StringBuffer :字符串缓冲区

CRUD:增删改查

Create read update delete

1、增加插入

StringBuffer insert(index,data):可以将数据插入到指定index位置

2、删除。

StringBuffer delete(start ,end):删除缓冲区中的数据,包含start,但不包含end;

StringBuffer deleteCharAt( int index):删除指定位置的字符;

3、修改:

StringBuffer replace(int start,int end);

Void setCharAt(int index,char chr);

4、查询获取:

Char charAt(int index)

int indexOf(String str)

int lastIndexOf(String str)

Int length();

String subString(int start,int end);

5、反转:

StringBuffer reverse();

StringBuffer是线程同步

StringBuilder是线程不同步

升级三个因素:提高效率、简化书写、提高安全性

集合:

Collection:

--ArrayList:底层的数据结构采用的是数组结构。特点:查询速度快,但增删稍慢,线程不同步。

--LinkedList:底层数据结构采用的是链表数据结构。特点:增删速度快,查询稍慢。

--Vector:底层是数组数据结构。线程同步,被ArrayList替代。

Set:元素是无序,元素不可以重复。

--HashSet:数据结构是哈希表,线程是非同步的。

保证元素唯一性的原理:判断元素的hashCode值是否相同。

如果相同,还会继续判断元素的equalse方法,是否为true

--TreeSet:可以对set集合中的元素进行排序。

底层数据结构是二叉树,保证元素唯一性的依据。

compareTo方法return 0;

TreeSet排序的第一种方式:让元素自身具备比较性,元素需要实现comparable接口,覆盖compareTo方法

TreeSet排序的第二种方式:当元素自身不具备比较性时,或具备的比较性不是所需要的,这时就需要让集合自身具备比较性,定义比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。

当两种排序都存在时以比较器为主。

 

 

List:特有方法,凡是可以操作角标的方法都是该体系特有的方法。

增、add(index,element)addAll(index,Collection)

删、remove(index);

改、set(index,element);

查、get(index),subList(from,to),ListIterator(),

int indexOf(obj):获取指定元素的位置。

ListIterator listIterator();

 

堆栈:先进后出,如同一杯子。

队列:先进先出,如同一个水管。First in First out (FIFO)

当引用类型不确定时可以用泛型。

Map

---HashTable:底层是哈希表数据结构,不可以存入nullnull值,该集合是线程同步的。Jdk1.0效率低。

---HashMap:底层是哈希表数据结构,允许使用nullnull值,该集合是不同步的,jdk1.2效率高。

---TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序。

Map中取出数据的两种方式 :

Set<k> --KeySet:map中所有的键存入到set集合中,因为set中具备迭代器,所有可以迭代方式取出所有的键,在根据get方法,获取每一个键对应的值。

Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。

Set<Map.Entry<k,v>>--entrySet:map集合中的映射关系存入到了set集合中,而这个关系的数据类型就是:Map.Entry

将集合变数组的目的是为了限定对元素的操作。Arrays.toArray();

将数组变集合的目的是为了操作元素。Arrays.asList();

 

System:中的所有方法和属性都是静态的。

Out:标准的输出 ,默认的是控制台,in:标准的输入,默认的是键盘。

System.setIn();可以设置输入输出的源和目的地

System.setOut();

Math.ceil();此方法返回大于指定数据的最小整数值。

Math.floor();返回小于这个数的最大整数。

Math.round(float a)四舍五入。

Math.pow(num1,num2);幂数运算

---------------------- android培训java培训、期待与您交流! ----------------------

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics