Java高级(集合)【Day7】

目标
   
了解 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,list,javaee,object,HashMap,Collections)