![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合框架
左绍骏
这个作者很懒,什么都没留下…
展开
-
集合框架总复习
集合框架总复习package com.heima.collections;public class Demo3_Collection { /** * Collection * List(存取有序,有索引,可以重复) * ArrayList * 底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 * LinkedList * 底...原创 2019-12-01 21:39:35 · 91 阅读 · 0 评论 -
泛型固定下边界
泛型固定下边界泛型固定下边界? super E泛型固定上边界? extends Epackage com.heima.collections;import java.util.ArrayList;import java.util.Comparator;import java.util.TreeSet;import com.heima.bean.BaseStud...原创 2019-12-01 21:38:39 · 167 阅读 · 0 评论 -
模拟斗地主洗牌和f发牌并对牌进行排序的代码实现
模拟斗地主洗牌和f发牌并对牌进行排序的代码实现A:案例演示模拟斗地主洗牌和发牌并对牌进行排序的代码实现分析:1.买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去2.洗牌3.发牌4.看牌package com.heima.test;import java.util.ArrayList;import java.util.Collections;import ...原创 2019-11-18 23:45:10 · 276 阅读 · 0 评论 -
模拟斗地主洗牌和发牌并对牌进行排序的原理图解
模拟斗地主洗牌和发牌并对牌进行排序的原理图解我只要把每个索引存在TreeSet集合里面,然后将已经对所有的元素进行排序了.只要有索引就可以获取到对应的元素,最后打印的时候看的里面的元素就可以了.注意操作的索引,获取的是索引对应的元素....原创 2019-11-17 22:55:30 · 293 阅读 · 0 评论 -
模拟斗地主洗牌和发牌
模拟斗地主洗牌和发牌A:案例演示模拟斗地主洗牌和发牌,牌没有排序分析:1.买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去2.洗牌3.发牌4.看牌package com.heima.test;import java.util.ArrayList;import java.util.Collections;public class Test02 { p...原创 2019-11-14 22:58:04 · 202 阅读 · 0 评论 -
Collections工具类的概述和常见方法讲解
Collections工具类的概述和常见方法讲解Collecitons中的常见方法public static void sort(List list)public static int binarySearch(List<?> list,T key)public static T max(Collection<?> coll)public static v...原创 2019-11-10 21:43:14 · 148 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap和Hashtable的区别面试题HashMap和Hashtable的区别共同点:底层都是哈希算法,都是双列集合区别:1:HashMap是线程不安全的,效率高,JDK1.2版本Hashtable是线程安全的,效率低,JDK1.0版本的2:HashMap可以存储null键和null值Hashtable不可以存储null键和null值package com.h...原创 2019-11-10 20:52:03 · 104 阅读 · 0 评论 -
集合嵌套之HashMap嵌套HashMap
集合嵌套之HashMap嵌套HashMapA:案例演示集合嵌套之HashMap嵌套HashMap需求:双元课堂有很多基础班第88期基础班定义成一个双列集合,键是学生对象,值是学生的归属地第99期基础班定义成一个双列集合,键是学生对象,值是学生的归属地无论88期还是99期都是班级对象,所以为了便于统一管理,把这些班级对象添加到双元课堂集合中package com.heim...原创 2019-11-10 19:10:06 · 361 阅读 · 0 评论 -
统计字符串中每个字符出现的次数
统计字符串中每个字符出现的次数A:案例演示需求:统计字符串中每个字符出现的次数分析:1:定义一个需要被统计字符的字符串2:将字符串转换为字符数组3:定义双列集合,存储字符串中字符以及字符出现的次数4:遍历字符数组获取每一个字符,并将字符存储在双列集合中5:存储过程中要做判断,如果集合中不包含这个键,就将该字符当作键,值为1存储,如果集合中包含这个键,就将值加1存储6:打印双列...原创 2019-11-10 18:41:11 · 1623 阅读 · 0 评论 -
TreeMap集合键是Student值是String的案例
TreeMap集合键是Student值是String的案例A:案例演示TreeMap集合键是Student值是String的案例package com.heima.bean;public class Student implements Comparable<Student>{ private String name; private int age; pu...原创 2019-11-10 16:59:03 · 170 阅读 · 0 评论 -
LinkedHashMap的概述和使用
LinkedHashMap的概述和使用A:案例演示LinkedHashMap的特点底层是链表实现的,可以保证怎么存就怎么取.package com.itheima.map;import java.util.LinkedHashMap;public class Demo06_LinkedHashMap { /** * LinkedHashMap的特点 * 底层是...原创 2019-11-10 16:12:08 · 126 阅读 · 0 评论 -
HashMap集合键是Student值是String的案例
HashMap集合键是Student值是String的案例A:案例演示HashMap集合键是Student值是String的案例键是学生对象,代表每一个学生值是字符串对象,代表学生归属地package com.itheima.map;import java.util.HashMap;import com.heima.bean.Student;public class...原创 2019-11-10 16:10:37 · 205 阅读 · 0 评论 -
Map集合的遍历之键值对对象找键和值源码分析
Map集合的遍历之键值对对象找键和值源码分析package com.itheima.map;public class Demo04_MapEntry { /** * @param args * 解释一个Map.Entry */ public static void main(String[] args) { //Entry其实是Map.Entry的一个子类对象 /...原创 2019-11-10 14:38:37 · 217 阅读 · 0 评论 -
Map集合的遍历之键值对对象找键和值
Map集合的遍历之键值对对象找键和值Map集合的第二种迭代,根据键值对对象,获取键和值A:键值对对象找键和值思路:获取所有键值对对象的集合遍历键值对对象的集合,获取到每一个键值对对象根据键值对对象找键和值package com.itheima.map;import java.util.HashMap;import java.util.Map;import jav...原创 2019-11-10 14:26:57 · 1082 阅读 · 0 评论 -
Map集合的遍历之键找值
Map集合的遍历之键找值A:键找值思路:获取所有键的集合遍历键的集合,获取到每一个键根据键找值B:案例演示Map集合的遍历之键找值package com.itheima.map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Se...原创 2019-11-10 11:50:34 · 417 阅读 · 0 评论 -
Map集合的功能概述
Map集合的功能概述A:Map集合的功能概述a:添加功能V put(K key,V value):添加元素。如果键是第一次存储,就直接存储元素,返回null如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值b:删除功能void clear():移除所有的键值对元素V remove(Object key):根据键删除键值对元素,并把值返回c:判断功能...原创 2019-11-10 10:54:58 · 193 阅读 · 0 评论 -
Map集合概述和特点
Map集合概述和特点A:Map接口概述查看API可以知道:将键映射到值的对象一个映射不能包含重复的键每个键最多只能映射到一个值B:Map接口和Collection接口的不同Map是双列的,Collection是单列的。Map的键唯一,Collection的子体系Set是唯一的。Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素...原创 2019-11-06 22:38:32 · 735 阅读 · 0 评论 -
键盘录入学生信息按照总分排序后输出在控制台
键盘录入学生信息按照总分排序后输出在控制台A:案例演示需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台分析:1.定义一个学生类成员变量:姓名,语文成绩,数学成绩,英语成绩,总成绩成员方法:空参,有参构造,有参构造的参数分别是姓名,语文成绩,数学成绩,英语成绩 toString方法,在遍历集合中的student对象打印对象引用的时候会...原创 2019-10-21 23:50:49 · 640 阅读 · 0 评论 -
并发修改异常产生的原因及解决方案
并发修改异常产生的原因及解决方案A:案例演示需求:我有一个集合,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。 List list = new ArrayList(); list.add("a"); list.add("b"); list.add("world"); list.add("d"); list....原创 2019-05-26 14:53:00 · 3976 阅读 · 0 评论 -
HashSet存储自定义对象保证元素唯一性图解及代码优化
HashSet存储自定义对象保证元素唯一性图解及代码优化A:画图演示画图说明比较过程B:代码优化为了减少比较,优化hashCode()代码写法。最终版就是自动生成hashCode和equals方法。package com.heima.set;import java.util.HashSet;import com.heima.bean.Person;public ...原创 2019-08-18 12:58:07 · 185 阅读 · 0 评论 -
HashSet如何保证元素唯一性的原理
HashSet如何保证元素唯一性的原理A:HashSet原理我们使用Set集合都是需要去掉重复元素的,如果在存储的时候逐个equals()比较,效率较低,哈希算法提供了去重复的效率,降低了使用equals()方法的次数。当HashSet调用add()方法存储对象的时候,先调用对象的hashCode()方法得到一个哈希值,然后再集合中查找是否有哈希值相同的对象。如果没有哈希值相同的对...原创 2019-08-18 13:08:55 · 480 阅读 · 0 评论 -
LinkedHashSet的概述和使用
LinkedHashSet的概述和使用A:LinkedHashSet的特点LinkedHashSet底层是链表实现的,是set集合中唯一一个能保证怎么存就怎么取的集合对象因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样B:案例演示LinkedHashSet的特点可以保证怎么存就怎么取package com.heima.set;...原创 2019-08-18 14:26:06 · 4464 阅读 · 0 评论 -
利用HashSet去除重复元素
练习1:利用HashSet去除重复元素使用Scanner从键盘读取一行输入,去掉其中重复字符,打印出不同的那些字符aaaabbbbccccdddd * 分析: * 1.创建Scanner对象 * 2.创建HashSet对象,将字符存储,去掉重复 * 3.将字符串转换为字符数组,获取每一个字符存储在HashSet集合中,自动去除重复 * 4.遍历HashSet,打印每一个字符pac...原创 2019-09-01 12:55:02 · 2334 阅读 · 0 评论 -
将集合中的重复元素去掉
练习2:将集合中的重复元素去掉将集合中的重复元素去掉package com.heima.test;import java.util.ArrayList;import java.util.LinkedHashSet;import java.util.List;public class Test03 { /** * 需求:将集合中的重复元素去掉 * * 分析:...原创 2019-09-01 13:28:52 · 292 阅读 · 0 评论 -
TreeSet存储Integer类型的元素并遍历
TreeSet存储Integer类型的元素并遍历TreeSet集合是用来对元素进行排序的,同样他也可以保证元素的唯一。package com.heima.set;import java.util.TreeSet;public class Demo04_TreeSet { public static void main(String[] args) { TreeSet<...原创 2019-09-01 14:33:58 · 342 阅读 · 0 评论 -
TreeSet存储自定义对象
TreeSet存储自定义对象TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一当compareTo方法返回0的时候集合中只有一个元素当compareTo方法返回正数的时候集合会怎么存就怎么取当compareTo方法返回负数的时候集合会倒序存储package com.heima.bean;public class Person implements Com...原创 2019-09-01 14:56:40 · 555 阅读 · 0 评论 -
TreeSet保证元素唯一和自然排序的原理和图解
TreeSet保证元素唯一和自然排序的原理和图解TreeSet保证元素唯一和自然排序的原理和图解package com.heima.bean;public class Person implements Comparable<Person> { private String name; private int age; ... ... @Override pu...原创 2019-09-01 16:01:40 · 577 阅读 · 0 评论 -
TreeSet存储自定义对象并遍历练习1
按照姓名排序package com.heima.bean;public class Person implements Comparable<Person> { private String name; private int age; ... ... @Override //按照姓名排序 public int compareTo(Person o) { int...原创 2019-09-01 16:12:33 · 247 阅读 · 0 评论 -
TreeSet存储自定义对象并遍历练习2
按照姓名的长度排序package com.heima.bean;public class Person implements Comparable<Person> { private String name; private int age; ... ... @Override /* * aaa * bbb */ public int compareTo...原创 2019-09-01 16:15:18 · 304 阅读 · 0 评论 -
TreeSet保证元素唯一和比较器排序的原理及代码实现
TreeSet保证元素唯一和比较器排序的原理及代码实现package com.heima.set;import java.util.Comparator;import java.util.TreeSet;public class Demo09_TreeSet { public static void main(String[] args) { TreeSet<String...原创 2019-09-01 18:53:00 · 214 阅读 · 0 评论 -
TreeSet原理
TreeSet原理A:特点TreeSet是用来排序的, 可以指定一个顺序, 对象存入之后会按照指定的顺序排列B:使用方式a.自然顺序(Comparable)TreeSet类的add()方法中会把存入的对象提升为Comparable类型调用对象的compareTo()方法和集合中的对象比较根据compareTo()方法返回的结果进行存储b.比较器顺序(Comparat...原创 2019-09-01 19:05:26 · 220 阅读 · 0 评论 -
在一个集合中存储了无序并且重复的字符串
在一个集合中存储了无序并且重复的字符串package com.heima.test;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.TreeSet;public class Test04 { /** * 在一个集合中存储了无序并且重复的...原创 2019-09-01 19:29:22 · 319 阅读 · 0 评论 -
将字符串进行排序
将字符串进行排序package com.heima.test;import java.util.Comparator;import java.util.Scanner;import java.util.TreeSet;public class Test05 { /** * 从键盘接收一个字符串,程序对其中所有字符串进行排序,例如键盘输入:helloitcast程序打印:ace...原创 2019-09-01 22:22:57 · 444 阅读 · 0 评论 -
无限输入多个整数,并将其倒叙打印
无限输入多个整数,并将其倒叙打印package com.heima.test;import java.util.Comparator;import java.util.Scanner;import java.util.TreeSet;public class Test06 { /** * 程序启动后, 可以从键盘输入接收多个整数, 直到输入quit时结束输入. 把所有输入的整...原创 2019-09-01 23:19:14 · 219 阅读 · 0 评论 -
HashSet存储自定义对象保证元素唯一性
HashSet存储自定义对象保证元素唯一性为什么要存储自定义对象呢?因为存储Java给我们提供的已有对象的话,我们不知道它到底重写了哪些方法来决定它保证元素唯一。package com.heima.bean;public class Person { private String name; private int age; public Person() { supe...原创 2019-08-17 19:24:26 · 301 阅读 · 0 评论 -
HashSet存储字符串并遍历
HashSet存储字符串并遍历Set集合,无索引,不可以重复,无序(存取不一致)package com.heima.set;import java.util.HashSet;public class Demo01_HashSet { public static void main(String[] args) { HashSet<String> hs = new...原创 2019-08-17 17:06:12 · 929 阅读 · 0 评论 -
LinkedList的特有功能
LinkedList的特有功能public void addFirst(E e)及addLast(E e)public E getFirst()及getLast()public E removeFirst()及public E removeLast()public E get(int index);package com.heima.list;import java.util.Li...原创 2019-06-16 14:51:10 · 334 阅读 · 0 评论 -
去除ArrayList中重复自定义对象元素
去除ArrayList中重复自定义对象元素A:案例演示需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)B:注意事项重写equals()方法的contains方法判断是否包含,底层依赖的是equals方法。remove方法判断是否删除,底层依赖的是equals方法。所以要重写Bean类的equals方法。package com.heim...原创 2019-06-16 14:31:23 · 876 阅读 · 0 评论 -
去除ArrayList中重复字符串元素方式
去除ArrayList中重复字符串元素方式A:案例演示需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)思路:创建新集合方式package com.heima.list;import java.util.ArrayList;import java.util.Iterator;public class Demo01_ArrayList { publi...原创 2019-06-16 13:57:15 · 246 阅读 · 0 评论 -
List的三个子类的特点
List的三个子类的特点A:List的三个子类的特点ArrayList:底层数据结构是数组,查询快,增删慢.线程不安全,效率高.Vector:底层数据结构是数组,查询快,增删慢.线程安全,效率低.Vector相对ArrayList查询慢(线程安全)Vector相对LinkedList增删慢(数组结构不同)Vector和ArrayList的区别:Vector是线...原创 2019-06-15 16:42:07 · 705 阅读 · 0 评论