Java基础1、List 和 Set 的区别2、HashSet 是如何保证不重复的3、HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?4、HashMap 的扩容过程5、HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?6、final finally finalize7、强引用 、软引用、 弱引用、虚引用8、Java反射9、Arrays.sort 实现原理和 Collection 实现原理10、LinkedHashMap的应用11、cloneable接口实现原理12、异常分...
所谓容器:往里面添加对象java所提供的容器API位于java.util包内。如下图: 详细参考:https://www.cnblogs.com/xiaoxi/p/6089984.html 原文:https://www.cnblogs.com/zyx1205/p/8625229.html
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。简介TreeMap使用红黑树存储元素,可以保证元素按key值的大小进行遍历。继承体系TreeMap实现了Map、SortedMap、NavigableMap、Cloneable、Serializable等接口。SortedMap规定了元素可以按key的大小来遍历,它定义了一些返回部分map的方法。public interface SortedMap<K,V> extends Map<K,V> {// key的比较器Comparator<? super K> comparator(...
1.List接口 此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。 集合中可以...
百度“java 集合”图时。搜出来一张图。图蛮不错的。跟大家分享下。原文:http://www.cnblogs.com/liguangsunls/p/7106937.html
上代码 package com.core.array2collection;import java.util.ArrayList; import java.util.Arrays; import java.util.List;publicclass Demo {publicstaticvoid main(String[] args) {List<Student> stuList = new ArrayList<Student>();for(int i = 0 ; i < 5; i ++){Student stu = new Student();stuList.add(stu);stu.setId(i);stu.setName("007"+i);stu.setAge(10+i);}Student[] stuArray = stuList.toArray(new Student[stuL...
一、异常处理 1.两种异常: (1)程序员自身问题(运行时异常) (2)外界问题(可控异常) 2.两种异常的详细说明 (1)运行时异常 当程序发生运行时异常时,程序会中断程序。 例:p1为对象; p1 p = new p1(); p = null; p.sayHello(); //这时就会报空指针异常 NullPointerException(); ...
Map集合:|--Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。|--HashMap:底层是哈希表数据结构,是线程不同步的。可以存储null键,null值。替代了Hashtable.|--TreeMap:底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。 Map集合存储和Collection有着很大不同:Collection一次存一个元素;Map一次存一对元素。Collection是单列集合;Map是双列集合。Map中的存储的一对元素:一个是键,一个...
在编程中常常需要集中存放多个数据,可以使用数组来保存多个对象,但是数组的长度一旦初始化指定后,不能进行改变;而且数组无法保存具有映射关系的数据:语文——88,数学——100。为了保存数量不确定的数据,以及保存具有映射关系的数据(也称为关联数组),Java提供了集合类。集合类主要用于保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,Java 5还在...
Set和Map的关系Set代表无序,不能重复的集合;Map代表Key-Value组成的集合,是一种关联数组。Map的Key要求是不能重复,没有顺序。把Map的所有Key组合起来就是Set。Set<K> keySet();HashMap和HashSet原理HashMap底层是用数组链表存储的,元素是Entry。向HashMap添加<Key,Value>时,由key的hashcode决定Entry存储位置,当两个Entry对象的key的hashcode相同时,由key的equals()方法返回值决定采用覆盖行为(返回true),还是在链表头添...
15.01 对象数组的概述和使用 1 public class Student2 {3 // 成员变量4 private String name;5 private int age;6 7 // 构造方法8 public Student()9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(); 16 this.name = name; 17 this.age = age; 18 } 19 20 // 成员方法 21 // getXxx()/setXxx() 22 publ...
Set 集合是无序不可以重复的的、List 集合是有序可以重复的。Java 集合:HashSet 与 hashCode、equals 博客里面已经说到这个问题,但是解释的还是不够清楚。 看一个小例子: package mark.zhang;import java.util.ArrayList;import java.util.HashSet;public class Test { public static void main(String[] args) { ArrayList<Integer> loadsList = new ArrayList<Integer>(); loadsList.add(1); loadsL...
Java集合框架 工具类CollectionsCollections是一个类,容器的工具类,就如同Arrays是数组的工具类步骤 1 : 反转reverse 使List中的数据发生翻转package collection;import java.util.ArrayList; import java.util.Collections; import java.util.List;public class TestCollection {public static void main(String[] args) {//初始化集合numbersList<Integer> numbers = new ArrayList<>();for (int i = 0; i < 10; i++) {numbers....
引用包:jedis-3.0.1.jar、commons-pool2-2.6.0.jar一、从Redis集合中实时获取数据:连接Redisimport redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/*** 连接Redis* @param conferenceId* @return*/public String startRedis(String topicId) {textMessage = "";String result = "";try {JedisPoolConfig config = new JedisPoolConfig();config.setTimeBetweenEv...
一、集合框架图二、Collection接口 Collection中可以存储的元素间无序,可以重复的元素。 Collection接口的子接口List和Set,Map不是Collection的子接口。三、List接口List接口中的元素的特点: List中的元素有序,可以重复。 两个常用的实现类ArrayList和LinkedList 1,ArrayList 类似数组形式存储,访问数度快,增删慢,线程不安全。 Vector是ArrayList的多线程的一个替代品。 ArrayList遍历...