Collection集合 集合:集合是java中提供的一种容器,可以用来存储多个数据。 Collection 常用功能 public boolean add(E e); // 把给定的对象添加到当前集合中 public void clear(); // 清空集合中所有的元素 public boolean remove(E e); // 把给定的对象在当前集合中删除。 public boolean contains(E e); // 判断当前集合中是否包含给定的对象。 public boolean isEmpty(); // 判断当前集合是否为空。 public int size(); // 返回集合中元素的个数。 public Object[] toArray(); // 把集合中的元素,存储到数组中。 Iterator迭代器 迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个 元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业 术语称为迭代。 Iterator接口的常用方法如下: public E next(); // 返回迭代的下一个元素 public boolean hasNext() :如果仍有元素可以迭代,则返回 true Collections集合工具类 是集合工具类,用来对集合进行操作 Collection 常用方法 public static <T> boolean addAll(Collection<T> c, T... elements); // 往集合中添加一些元素。 public static void shuffle(List<?> list); // 打乱顺序,打乱集合顺序。 public static <T> void sort(List<T> list); // 将集合中元素按照默认规则排序。 默认升序 public static <T> void sort(List<T> list,Comparator<? super T> ); //将集合中元素按照指定规则排 序 ArrayList<Integer> list = new ArrayList<Integer>(); Collections.addAll(list, 5, 222, 1,2); //采用工具类 完成 往集合中添加元素 Collections.sort(list); //排序方法 Comparator比较器 Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return o1.getAge()‐o2.getAge(); //以学生的年龄升序 return o2.getAge()‐o1.getAge(); //以学生的年龄降序 } }); List集合 List接口中常用方法 public void add(int index, E element); // 将指定的元素,添加到该集合中的指定位置上 public E get(int index); // 返回集合中指定位置的元素 public E remove(int index); // 移除列表中指定位置的元素, 返回的是被移除的元素 public E set(int index, E element); //用指定元素替换集合中指定位置的元素,返回值的更新前的元素 List<String> list = new ArrayList<String>(); // 创建List集合对象 ArrayList ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素 ArrayList使用步骤 ArrayList<String> list = new ArrayList<>(); 泛型只能存储应用类型,不能存储基本数据类型 ArrayList方法 list.add("world"); // 添加元素 list.get(0); // 返回指定索引处的元素 list.size(); // 返回集合中的元素的个数 list.remove(0); // 删除指定索引处的元素,返回被删除的元素 存储基本数据类型 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); // 添加数据 list.get(0); // 取出数据 LinkedList集合 LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。 LinkedList接口中常用方法 public void addFirst(E e); // 将指定元素插入此列表的开头。 public void addLast(E e); // 将指定元素添加到此列表的结尾。 public E getFirst(); // 返回此列表的第一个元素。 public E getLast(); // 返回此列表的最后一个元素。 public E removeFirst(); // 移除并返回此列表的第一个元素。 public E removeLast(); // 移除并返回此列表的最后一个元素。 public E pop(); // 从此列表所表示的堆栈处弹出一个元素。 public void push(E e); // 将元素推入此列表所表示的堆栈。 public boolean isEmpty(); // 如果列表不包含元素,则返回true。 LinkedList<String> link = new LinkedList<String>(); link.addFirst("abc1"); // 添加元素 HashSet 是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序 不一致) HashSet 是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。保证元素唯一性 的方式依赖于, hashCode 与 equals 方法 HashSet接口中常用方法 public boolean add(E e); // 把给定的对象添加到当前集合中 public void clear(); // 清空集合中所有的元素 public boolean remove(E e); // 把给定的对象在当前集合中删除。 public boolean contains(E e); // 判断当前集合中是否包含给定的对象。 public boolean isEmpty(); // 判断当前集合是否为空。 public int size(); // 返回集合中元素的个数。 public Object[] toArray(); // 把集合中的元素,存储到数组中。 HashSet<String> set = new HashSet<String>(); set.add("abc"); // 添加元素 LinkedHashSet 保证元素唯一,和元素存放进去是有顺序的 HashSet接口中常用方法 public boolean add(E e); // 把给定的对象添加到当前集合中 public void clear(); // 清空集合中所有的元素 public boolean remove(E e); // 把给定的对象在当前集合中删除。 public boolean contains(E e); // 判断当前集合中是否包含给定的对象。 public boolean isEmpty(); // 判断当前集合是否为空。 public int size(); // 返回集合中元素的个数。 public Object[] toArray(); // 把集合中的元素,存储到数组中。 Set<String> set = new LinkedHashSet<String>(); set.add("abc"); // 添加元素 Map集合 概述 Map 中的集合,元素是成对存在的(理解为夫妻),每个元素由键与值两部分组成,通过键可以找对所对应的 值。 需要注意的是, Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。 Map常用子类 HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需 要重写键的hashCode()方法、equals()方法。 LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链 表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。 Map接口中的常用方法 public V put(K key, V value); // 把指定的键与指定的值添加到Map集合中。 public V remove(Object key); // 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的 值。 public V get(Object key); // 根据指定的键,在Map集合中获取对应的值。 public Set<K> keySet(); // 获取Map集合中所有的键,存储到Set集合中。 public Set<Map.Entry<K,V>> entrySet(); // 获取到Map集合中所有的键值对对象的集合(Set集合) public K getKey(); // 获取Entry对象中的键。 public V getValue(); // 获取Entry对象中的值 HashMap<String, String> map = new HashMap<String, String>(); map.put("黄晓明", "杨颖"); // 添加元素到集合 Set<String> keys = map.keySet(); // //获取所有的键 获取键集 Set<Entry<String,String>> entrySet = map.entrySet(); // // 获取 所有的 entry对象 entrySet String key = entry.getKey(); // 获取键 String value = entry.getValue(); // 获取值 Map集合遍历键找值方式 键找值方式:即通过元素中的键,获取键所对应的值 LinkedHashMap HashMap基础上保证了数据的顺序 LinkedHashMap<String, String> map = new LinkedHashMap<String, String>(); Arrays 概述 包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法 操作数组的方法 int[] arr = {2,34,35,4,657,8,69,9}; String s = Arrays.toString(arr); // 数组内容转为字符串 Arrays.toString(arr) // 升序排序 Math 概述 包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数 基本运算的方法 double d1 = Math.abs(‐5); //返回 double 值的绝对值 d1的值为5 double d1 = Math.ceil(3.3); //返回大于等于参数的最小的整数。 d1的值为 4.0 double d1 = Math.floor(3.3); //返回小于等于参数最大的整数 d1的值为3.0 long d1 = Math.round(5.5); //返回最接近参数的 long。(相当于四舍五入方法) d1的值为6.0