黑马程序员-StringBuffer和集合

来源:互联网 发布:阿里云cdn加速设置 编辑:程序博客网 时间:2024/05/29 10:44

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
StringBuffer和集合
 (1)它是一个可变长度和内容的容器.
 (2)如何获取对象
  A:StringBuffer buffer = new StringBuffer();
  B:StringBuffer buffer = new StringBuffer("String");
  C:StringBuffer buffer = new StrintBuffer(50);
 (3)常用方法
  A:append(任意)
    insert(索引,任意)
  B:delete(int start,int end)
  C:replace(int start,int end,String str)
  D:String substring()
  E:reverse() 反转
  跟字符串一样的方法,不讲了.
 (4)StringBuffer和StringBuilder的区别.
  线程是否安全
  StringBuffer是线程安全的.
  StringBuilder是线程不安全的.

  以后的使用.一般都使用StringBuilder.
  当明确知道会有线程安全问题,那么使用StringBuffer.
 
2:封装类
 (1)为了方便我们操作基本数据类型的数据,java进行了对象封装.

自动装箱和自动封箱:
  A:byte  Byte
  B:short Short
  C:int Integer
  D:long Long
  E:float Float
  F:double Double
  G:char Character
  H:boolean Boolean
 (2)我们以Integer举例,其他的类似
  A:获取对象
   **Integer i = new Integer(int value);
   **Integer i = new Integer(String value);
  B:常用方法
   **用于进制转换的方法了解
  C:转换 重点
   **从字符串到int类型
    ***Integer i = new Integer("20");
       int num = i.intValue();
   
    ***Integer.parseInt("20");

    ***Integer i = Integer.valueOf("20");
       int num = i.intValue();


   **从int类型到字符串
    *** 10+"";
    *** String.valueOf(10);
    *** Integer.toString(10);

  C:装箱和拆箱
   Integer i = 100; //把100装箱成Integer类型 Integer  i = new Integer(100)
   i += 200;   //先把i拆箱成int类型的100 i.intValue()
               //接着进行100+200的操作
        //最后把结果300装箱成Integer类型 Integer  i = new Integer(300)

   特殊情况:
   Integer i1 = new Integer(126);
   Integer i2 = new Integer(126);
   sop(i1==i2); //false
   sop(i1.equals(i2)); //true

   Integer i3 = 126;
   Integer i4 = 126;
   sop(i3==i4); //true
   sop(i3.equals(i4)); //true

   当数据在byte范围内,直接赋值,其实没有不一定重新创建对象了.
 
3:集合
 (1)学习了面向对象以后,我们要操作很多对象,这个时候,我们需要把这些对象进行存储.就出现了集合.
 (2)数组和集合的区别
  A:长度是否固定
   **数组长度固定
   **集合长度可变
  B:有多少功能可以使用
   **数组只有一个length属性
   **集合有很多功能可以使用
  C:存储类型
   **数组可以存储基本数据类型,也可以存储引用数据类型
   **集合只能存储引用数据类型.
  
   c.add(10); //这里存的不是int 10,而是Integer的10.
 (3)Collection中的方法
  A:添加元素
   boolean add(Object obj)
   boolean addAll(Collection c)
  B:删除元素
   boolean remove(Object obj)
   boolean removeAll(Collection c)
   void clear()
  C:判断
   boolean contains(Object obj)
   boolean containsAll(Collection c)
   boolean isEmpty()
  D:获取
   Iterator iterator()

   Collection c = new ArrayList();
   c.add();...

   Iterator it = c.iterator();
   while(it.hasNext())
   {
    sop(it.next());
   }

  E:转成数组
   Object[] toArray()
  F:交集
   boolean retainAll(Collection c)

   A,B两个集合.
   A对B做交集和,A集合的元素是交集元素,B集合不变.
   A对B做交集时,这个方法的返回结果是根据A集合中的元素是否变化确定.
   如果A元素发生了变化,返回true;否则,返回false

  G:长度
   int size()
 (4)Iterator
  迭代器接口.

  boolean hasNext():判断是否有下一个元素
  Object next():获取元素
      (5)Collection集合的子类

 Collection
 |--List
  |--ArrayList 数据结构是数组.
  |--LinkedList 数据结构是链表.
  |--Vector 数据结构是数组.
 |--Set
  |--HashSet 数据结构是哈希表.
   |--LinkedHashSet 数据结构是哈希表和链表.
  |--TreeSet 数据结构是二叉树.

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

0 0
原创粉丝点击