2021-05-14

1. Collection:集合的抽象数据类型

 Collections:包含有关集合操作的静态方法

2.3个,List,Set和Queue没有

3.List可以精准控制列表中的每个元素的插入位置。允许出现重复的值 List列表 linkedList链表

Set不允许重复,HashSet存储顺序为无序。TreeSet存储顺序为有序,排序后为升序

Map:1 每次存储 key-value对;

      2 key部分不能重复

      3 常用实现类HashMap和TreeMap

4. 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表


5.public class Example {

 public static void main(String[] args) {


 String s1 = "abc";

 String s3 = "def";


 List list = new ArrayList();

 list.add(s1);

 list.add(s2);

 list.add(s3);


 for (String string : list) {

  System.out.println( string );

 }


 System.out.println("-------------------");


 Set set = new HashSet<>();

 set.add(s1);

 set.add(s2);

 set.add(s3);


 for (String string : set) {

  System.out.println( string );

 }

}adc,def

6.TreeMap是有序的,HashMap是无序的

public class Example {


    public static void main(String[] args) {


     TreeMap map = new TreeMap();

     map.put("one", "1");

     map.put("two", "2");

     map.put("three", "3");

     displayMap(map);


    }


    static void displayMap(TreeMap map) {


     Collection c = map.entrySet();

     Iterator i = c.iterator();


     while (i.hasNext()) {

      Object o = i.next();

      System.ou

7.Vector是使用对象数组来保存数据的,可以根据需要自动增加容量

ArrayList也是根据需要调整容量,不过和Vector有区别,Vector在扩容时会提高一倍,而Array List则是增长50%,有利于节省内存空间

Vector的性能比ArrayList要差

LinkedList是Java提供的双向链表

ArrayList和Vector是基于动态数组实现的,LinkedList是基于双向链表实现的

8.ArrayList是List接口的实现类 

ArrayList.ArrayList是没有add()方法,并且没有修改之前传递进去的固定长度数组来实现,这就是为什么修改它的元素会直接影响传进来的数组 

java.util.ArrayList只能在不超过capacity的情况下调用set设置元素,不能增加元素。

9.Hashtable方法是同步的HashMap是不同步的 

10. String[] array = {"abc" , "ABC" , "123" , "def" , "def" , "abc"};

11.可以边遍边删除 

12.for(集合元素类型 i:list){

   System.out.println(i)

}

for(集合元素类型 i:set){

   System.out.println(i)

}

for (Map.Entry m : map01.enerySet()){

System.out.println(m);

}

你可能感兴趣的:(2021-05-14)