一,List集合
1):概述:List
组件为用户提供了一个可滚动的文本项列表。
2):List有ArrayList和LinkedList两种形式。
ArrayList是一个动态的数组;LinkedList是基于链表的储存结构。
3):区别与特点:两个的区别是ArrayList查询快,增删慢;LinkedList查询慢,增删快。
特点是List集合是有序的,可重复的。
4):ArrayList图示。有规则的排列,所以查询快,但是增删时需要整体变动,速度变慢。
5):LinkedList图示。有规则排序,但是每个数据单独连接,形似链表,从而增删变快,查询慢。
6):常用构造方法
List() 创建新的滚动列表。 |
7):常用方法
void | add(String item) 向滚动列表的末尾添加指定的项。 |
void | add(String item, int index) 向滚动列表中索引指示的位置添加指定的项 |
void | remove(int position) 从此滚动列表中移除指定位置处的项。 |
void | removeAll() 从此列表中移除所有项。 |
//List List<String> list=new ArrayList<>(); list.add("张三");//添加数据 list.add("李四"); list.add("老六"); list.add(2,"王五");//向指定位置添加数据 list.remove(1);//删除指定位置的数据 System.out.println(list); System.out.println("List的遍历"); for (int i=0;i< list.size();i++){ String s = list.get(i); System.out.println(s); } System.out.println("遍历方法二-------------"); for (String s:list){ System.out.println(s); }
二,Set集合
1):概述:一个不包含重复元素的且无序的集合。
Set集合无法直接查询数据,需要遍历以后才可以查询。
2):常用方法
boolean | add(E e) 如果 set 中尚未存在指定的元素,则添加此元素 |
void | clear() 移除此 set 中的所有元素。 |
boolean | contains(Object o) 如果 set 包含指定的元素,则返回 true。 |
int | hashCode() 返回 set 的哈希码值。 |
Iterator<E> | iterator() 返回在此 set 中的元素上进行迭代的迭代器。 |
boolean | remove(Object o) 如果 set 中存在指定的元素,则将其移除。 |
int | size() 返回 set 中的元素数(其容量)。 |
Object[] | toArray() 返回一个包含 set 中所有元素的数组。 |
//Set Set<String> set=new HashSet<>(); set.add("b");//添加数据 set.add("a"); set.add("c"); set.add("a");//重复不在添加 System.out.println(set); //获取集合的元素量(数量) System.out.println(set.size()); System.out.println("Set的遍历"); Iterator<String> iterator = set.iterator();//使用迭代器方法 while (iterator.hasNext()){ String next = iterator.next(); System.out.println(next); }
三,Map
1):概述:基于键值对储存的数据结构。
2):图示Map结构
在Map中Key值是不能重复的,而value值是可以重复的。也就是说一个value值只能对应一个Key值,而一个Key值可以对应多个value值。
Map会将所有的值放到Set集合中。
3):Map常用方法
void | clear() 从此映射中移除所有映射关系(可选操作)。 |
Set<Map.Entry<K,V>> | entrySet() 返回此映射中包含的映射关系的 Set 视图。 |
V | get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null 。 |
int | hashCode() 返回此映射的哈希码值。 |
boolean | isEmpty() 如果此映射未包含键-值映射关系,则返回 true。 |
Set<K> | keySet() 返回此映射中包含的键的 Set 视图。 |
V | remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除。 |
int | size() 返回此映射中的键-值映射关系数。 |
//Map Map<String,String> map=new HashMap<>(); map.put("name","张三"); map.put("age","18"); map.put("sex","男"); System.out.println(map); //获取键值对数量 int size = map.size(); System.out.println(size); System.out.println("Map的遍历"); Iterator<Map.Entry<String, String>> ite = map.entrySet().iterator(); while (ite.hasNext()){ Map.Entry<String, String> next = ite.next(); String key = next.getKey();//获取Key的值 String value = next.getValue();//获取value的值 System.out.println(key+"---->"+value); }