第七课

目标
    了解 Java 高级部分的内容
巩固 Java 集合工具类(重点)
掌握集合排序

1、了解 Java 高级部分的内容
SUN 公司为 Java 开发指定了三条开发路线:
JavaSE(Java 标准开发,主要使用 java 基础,应用程序、
GUI[开发 Client/Server 模式的应用程序])
    JavaME(Java 可移动手持设备上运行的程序)
JavaEE(Java 企业级应用开发,市场主流)

Java 高级部分:集合、反射、JDK 新特性、泛型、
线程、IO、网络编程

2、巩固 Java 集合工具类(重点)
   java.util.*   工具包
  
   集合:集体、团体、集合就是能够容纳多个对象的对象。
   教室、房间:是一个真实存在的实体--对象。该对象的
作用容纳其他的东西。
   能够容纳:人、桌子、电脑、房间、、、、单独看,每
个都是独立的对象,这些对象类型不一。

   数组也能容纳一定的数据:
   (1)长度固定[缺点];
   (2)类型固定[优点];
  
   集合对象解决上面的问题:
   (1)长度无限
   (2)类型无限[通过泛型限制类型]
  
                 Object
                    |
Collection(接口,按一定顺序存放数据)
/            \
       List(固定的索引)     Set(每次存放重新排序) (接口分离原则)
  /      |               |
LinkedList  ArrayList       HashSet
  

  
Collection 接口中定义的方法
boolean add(E e) 添加一个元素到集合对象中
boolean addAll(Collection<? extends E> c)
void clear() 清空集合对象
Iterator<E> iterator()
   返回在此 collection 的元素上进行迭代的迭代器。 
int size()         
Object[] toArray()  把集合对象转化为数组对象

List 有序列表
ArrayList:动态数组,在内存中存储在连续的内存空间中,
按照索引存放数据,索引从 0 开始。先放的数据,排在前面。
list.add();
list.get(index);

LinkedList: 链表,数据结构类似于自行车链条,一环连接一环
在内存中不连续存放,每个存放的元素包含(元素对象、前一个
元素的位置索引,后一个元素的位置索引)


区别:
(1)ArrayList 需要连续内存,LinkedList 节约内存
(2)取出数据,ArrayList 快。
(3)查找数据、删除数据、插入数据,LinkedList 快  
(4)LinkedList 中存放数据是线程不安全的

LinkedList 中方法
void addFirst(E e)
          将指定元素插入此列表的开头。
void addLast(E e)
          将指定元素添加到此列表的结尾。
E getFirst()
          返回此列表的第一个元素。
E getLast()
          返回此列表的最后一个元素

  
List 与 Set 的区别
(1)List 中能够存放相同的对象,Set 中不能有完全一样的对象
(2)List 有固定索引,可以按照索引取出单个值;Set 不行
(3)效率问题,线程安全、、  


        Object
          |
         Map(接口,无序存放<key,value>)[超市储物柜]
   键值对 映射
/  |  \  
    HashTable HashMap

Map mp = new HashMap();
mp.put(Object key,Object value);
mp.put(String,Object);

Object value = mp.get(key);

Set<K> keySet()
          返回此映射中所包含的键的 Set 视图。

循环
(1)循环 key 取出,对应的 Value
(2)把 Map 转化为 Collection ,然后使用
   Collection 中的迭代器


3、掌握集合排序
集合对象本身提供了排序方法 
(1)要排序的对象实现排序接口
java.lang
接口 Comparable
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。


(2)要排序的对象继承排序类

集合使用专门的类进行排序
Collections(类)

//排序
Collections.sort()

static <T extends Comparable<? super T>>
void
sort(List<T> list)
          根据元素的自然顺序 对指定列表按升序进行排序。
static <T> void
sort(List<T> list, Comparator<? super T> c)
          根据指定比较器产生的顺序对指定列表进行排序。

你可能感兴趣的:(java,数据结构,网络应用,企业应用,JavaME)