JavaSE

API(Application Programming Interface):应用程序编程接口。

String:使用了final修饰,不能被继承。

String常用的API:

indexOf(String str)

indexOf(String str, int formIndex)

lastIndexOf(str, int from)

substring(int beginIndex, int endIndex)

trim()

charAt(int index)

startsWith(String str)

endsWith(String str)

toUpperCase()

toLowerCase()

String.valueOf() 将其他类型转换为String类型

StringBuilder

StringBuilder封装可变的字符串,对象创建后可以通过调用方法改变其封装的字符序列。

构造方法:public StringBuilder()

                   public StringBuilder(String str)

常用的api:

append(String str)

insert(int dstOffset, String s)

delete(int start, int end)

replace(int start, int end , String str)

reverse()

String[] split(String regex)

String replaceAll(String regex, String replacement)


StringBuffer和StringBuilder的区别:

StringBuffer是线程安全,同步处理的,性能稍慢

StringBuilder是非线程安全的,异步处理的,性能稍快

正则表达式:

[abc]、[^abc]、[a-z]、[a-zA-Z0-9]、[a-z&&[^bc]]

正则表达式:.表示一个字符、\d表示一个数字字符、\w表示一个单词字符、\s表示空白字符、\D非数字字符、\W表示非单词字符、\S表示非空白字符

正则表达式数量词:?表示0或1个、*表示0或任意多个、+表示1个或多个、{n}表示n个、{n,}表示大于等于n个、{n,m}表示n到m个

str.matches(regex);

正则表达式中的分组:()表示分组。|表示或的关系。

边界:^表示字符串开始。$表示字符串结束。

日期:

java.text.SimpleDateFormat是一个以与语言环境有关的方式来格式化日期的具体类

构造方法:SimpleDateFormat(String pattern) pattern = "yyyy-MM-dd HH:mm:ss";

方法:final String format(Date date)、Date parse(String source) throws ParseException

Calendar可以对时间分量进行运算:

Calendar是抽象类、所以一般通过这种方式获取它:Calendar c = Calendar.getInstance();

方法:Date getTime();

            void setTime(Date d)

          Calendar set(Calendar.YEAR,2016); 注意的是周日是每周的第一天,月份从o开始

         getActualMaximum(int field)用以获取指定日历字段可能拥有的最大值。

        void add(int field, int mount )

集合:

Collection:

boolean addAll(Collection<? extends E> c)

boolean containsAll(Collection<?> c)

迭代器Iterator:

方法:hasNext() 、next()   、remove()       应该注意的是:在使用迭代器遍历集合时,不能通过集合的remove方法删除集合元素,否则会抛出并发更改异常。我们通过迭代器自身提供的remove()方法来删除通过next()迭代出的元素

泛型:

泛型的本质是参数化类型。在类、接口和方法的定义过程中,所操作的数据类型被传入的参数指定。

集合操作-----线性表:

List接口是Collection的子接口,用于定义线性表数据结构。

List接口的两个常见的实现类为ArrayList和LinkedList,分别用动态数组和链表的方式实现了List接口。其中ArrayList更适合于随机访问而LinkedList更适合于插入和删除。

方法:E get(int index)

           E set(int index, E element)

          void add(int index, E element)

         E remove(int index)

         List<E> subList(int fromIndex, int toIndex) 需要注意的是subList获取的List与原List占有相同的存储空间,对子List的操作会影响到原List。


List转换为数组:

List的toArray方法用于将集合转换为数组。但实际上该方法是在Collection中定义的。

两个方法:

Object[] toArray()

<T>T[] toArray(T[] a)

Arrays.toString()方法用于输出数组内容。

数组转换为List:

Arrays类中提供了一个静态方法asList,使用该方法我们可以将一个数组转换为对应的List集合。

static <T> List<T> asList<T...a>  注意的是:返回的集合我们不能对其增删元素,否则会抛出异常,并且对集合的元素进行修改会影响数组对应的元素。

比较:

Comparable:重写 int compareTo(T t);方法进行比较。标准(0)

Comparator:int compare(T o1, T o2)

Collections.sort(cells,new Comparator<Cell>(){
       public int compare(Cell o1, Cell o2) {
                return o1.col-o2.col;
      }

})

队列和栈:

队列(Queue)是常用的数据结构,可以队列看成特殊的线性表,对列限制了对线性表的访问方式:只能从线性表的一端添加(offer)元素,从另一端取出(poll)元素。

队列遵循先进先出的原则。

JDK中提供了Queue接口,同时使LinkedList实现了该接口(经常进行增加和删除操作。)

常用的方法:

boolean offer(E e)

E poll() 从队首删除并返回一个元素。

E peek()返回队首的元素(但并不删除)


Deque:

Deque是Queue的子接口,定义了“双端队列”即从队列的两端分别可以入队(offer)和出对(poll),LinkedList实现了该接口。

如果将Deque限制为只能从一端入队和出队,则可实现“栈”(Stack)的数据结构,对于栈而言,入栈称之为push,出栈称之为pop,栈遵循先进后出的原则。


Map:

常用的内部为hash表实现的有:HashMap和内部为排序二叉树实现的TreeMap。

Hash表的工作原理:获取Key的hashCode值,通过hash算法确定将存储的空间(bucket)

重写hashCode方法一般都是通过IDE自动生成的,需要注意两点:一、用equals方法判断一致的对象,的hashCode值应该相同,二、hashCode返回的数值应该符合hash算法。

Map的遍历:

Map提供了三中遍历方式:

一、遍历所有Key          ---------Set<K>keySet()方法将所有的Key放在Set集合里面。

二、遍历所有的Key和Value   --------- Set<Entry<K,V>>entrySet()方法将当前Map中每一组key----value封装为一个Entry对象装入到Set集合中。

Set<Entry<String,Integer>> entrySet = map.entrySet();
for(Entry<String,Integer> e:entrySet) {
    String key = e.getKey();
     String value = e.getValue();
}

三、遍历所有的Value

LinkedHashMap实现了有序的Map


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值