JavaNote

来源:互联网 发布:中国内审协会网络培训 编辑:程序博客网 时间:2024/05/01 23:34

对象数组:可以存储(引用类型的)的数组。

        集合:

             数组和集合的区别:1:长度的区别:

                                                   数组长度固定

                                                   集合长度可变

                                       2:存储数据类型的区别:

                                           数组:可存储基本数据类型,还有引用类型

                                            集合:只有引用类型

                                         3:存储元素的区别:

                                          数组:只能存储同一种类型的元素

                                          集合:可存储多种类型的元素

                        获取集合的元素数:size();

               集合的遍历:

                            1:toArray():将集合转换成数组,返回值是一个Object类型.                             2:集合的专有遍历方式:获取集合的迭代器

                                  Iterator it=集合对象.iterator();

                                     while(it.hasNext()){

                                           

                                           //获取

                                      String s=(String)it.next();

                                            }  

interface Iterator{

boolean hasNext();

Object next();

}

interface Collection extends Iterable{}

 

interface List extends Collection{}

class ArrayList<>implements List{

return new Itr();

class Itr implements Iterator{

 

}

}

集合(Collection)的高级功能

   boolean retainAllCollection c:

           交集功能

 

List集合:

    List集合是Collection集合子接口,就可以使用父接口中的迭代器

    List特点:元素可重复,并且有序性(存储与取出一致)

set集合的区别:set集合元素唯一,

    遍历集合:

    1toArray()

    2)迭代器功能:Iterator Iterator()

    3)列表迭代器:ListIterator listIterator();里面添加元素的功能

    4)普通for循环,size()get(intindex)相结合

 

 正则表达式

分割功能

 

 

 

ArrayList:底层数据结构是数组的形式,满足数组结构的特点:查询快,增删慢

             从数组线程安全的角度来讲,线程不安全,不同步,执行效率高

Stringbuffer:多线程不安全的

Stringbuilder:单线程安全

Vector

         底层数据结构是数组形式,查询快,增删慢

     线程安全的类,同步,执行效率低,

LinkedList

       底层数组结构是链表形式, 查询慢,增删快。

      线程不安全的一个类,不同步,执行效率高。

      特有功能:

          添加功能:public void addFirst(E  e)将制指定元素插入列表的开头

                                           Last

          获取功能:public Object getFirst()  返回此列表的第一个元素

                                                 Last()

     删除功能:  public Object removeFirst()  删除

                                                Last

 

参与多线程,一般都需要安全的类:

      StringBufferVector<E>hashtable<K,V>

Synchronized(同步对象){

代码;

}

 

、一般情况下主要:ArrayList()

 

LinkList:

 

向上转型不会出现任何问题,但向下转型系统不会自动识别.

将泛型定义在类中.  给类上加入泛型

泛型的高级:通配符

     <>:可以是任意类型,包括Object类型以及任意Java类型

※ Eg:Collection<?> c1=new ArrayList<Object>();

   <? Extends E>:向下限定,E类型以及E类型的子类.

※ Eg:Collection<? Extends Object> c2=new ArrayList<Object或子类>();

<? Super E>:向下限定,E类型以及E类型的父类

※ Eg: Collection<? super Ainimal > c2

=new ArrayList<Ainimal或父类最起码是Ainimal>();

自动拆装箱:类型转换

增强for

 for(类型 X:对象名){

System.out.println(X);

}

迭代器遍历:

   ArrayList<String> array=new ArrayList<String>();

Array.add(“XXX”);

Iterator<String> it=array.Iterator();

while(it.hasnext()){

String s=it.next();

System.out.println(s);

}

增强for的出现就是替换迭代器的`

使用ArrayLIst集合储存自定义对象并遍历

     1:toArray()

   2:Collection集合的迭代器:Iterator Iterator();

   3:List集合的迭代器

  4:普通for循环:size();get( int index)

5:增强for循环

原创粉丝点击