list.add(0);
list.add(3333);
list.add(8888);
System.out.println(list.size());
/* 遍历list */
for (Integer integer : list) {
System.out.println(integer);
}
/* 获取第一个元素 ,即header的next域*/
System.out.println(“第一个元素是:” + list.getFirst());
/获取最后一个元素,即header的previous域/
System.out.println(“最后一个元素是:”+list.getLast());
}
}
3、hashset
public static void main(String[] args) {
Set set = new HashSet();
set.add(“a”);
set.add(“b”);
System.out.println(set);
Student stu= new Student(18, “小名”, 60);
set.add(stu);//调用第一个对象的hashcode方法 调 equals
set.add(new Student(19, “小明”, 60));
set.add(new Student(19, “小明”, 60));
set.add(new Student(20, “小明”, 61));
System.out.println(set);
}
4、treeset
import java.util.ArrayList;
import java.util.HashSet;
import java.util.TreeSet;
/**
-
使用treeset存放一组学生成绩
-
1、可以自动排序(系统类 自然排序)
-
2、不可重复(去重)
-
3、只能存放一种数据类型
-
—存放到 treeset中的元素必须要具有比较能力
-
调用compareTo() 如果得到的结果为0 , 两个元素相等
-
1 ---》排到后面
-
-1 --->排到前面
-
hashset:–>hashtable(哈希表)
-
treeset:–>二叉树,红黑树算法
-
每存入一个元素就会调用一次compareTo方法
-
@author Administrator
*/
import java.util.Comparator;
/**
-
外部比较器,当系统类提供的比较规则满足不了需求时使用
-
1、自己创建一个比较器 实现 Comprator接口 ,添加一个泛型(需要比较的数据类型)
-
2、重写comprae方法,用来比较,参数是两个需要比较的对象
-
@author Administrator
*/
public class MyStrCompartor implements Comparator{
@Override
public int compare(String o1, String o2) {
//按照字符串长度排序
return o1.length() - o2.length();
}
}
public class TestTreeSet02 {
public static void main(String[] args) {
//使用外部比较器,
//1 拿到比较器的对象
MyStrCompartor mcom = new MyStrCompartor();
//2在创建集合时,调用有参的构造方法,把比较器传进去
//3、在treeset中添加元素时,会优先调用自定义比较器的方法
//treeset专用
TreeSet ts = new TreeSet(mcom);
// ts.add(20);//自动装箱
// ts.add(1);
// ts.add(100);
// ts.add(7);
// ts.add(8);
// ts.add(100);
System.out.println(ts);
//需求:不希望按照系统的排序来排列
//自己创建一个比较规则
ts.add(“xiaomi32313”);
ts.add(“zhangliguo5”);
ts.add(“asima1”);
ts.add(“baibaibai4”);
ts.add(“sansan2”);
// ts.add(new Student(“yushen”, 19, 19));
// ts.add(new Student(“xiaoming”, 19, 19));
// ts.add(new Student(“axiaoming1”, 19, 18));
System.out.println(ts);
}
}
5、hashmap
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
-
HashMap的使用
-
@author erqing
*/
public class MapTest {
public static void main(String[] args) {
/* 初始化map */
Map<String, Integer> map = new HashMap<String, Integer>();
System.out.println(“HashMap的初始值:” + map.size());
System.out.println(“HashMap是否为空:” + (map.isEmpty() ? “是” : “否”));
/* 想map中添加元素 */
map.put(“erqing”, 1);
map.put(“niuniu”, 2);
map.put(“egg”, 3);
System.out.println(map.size());
;
System.out.println(“HashMap是否为空:” + (map.isEmpty() ? “是” : “否”));
/* 遍历HashMap中的元素 */
Set set = map.keySet();
for (String s : set) {
System.out.println(s + " " + map.get(s) + " " + “hashcode:”
- s.hashCode());
}
/检测是否含有某个Key/
System.out.println(map.containsKey(“egg”));
/检测是否含有某个Value/
System.out.println(map.containsValue(2));
/打印hashCode/
System.out.println(map.hashCode());
}
}
/*
输出:
HashMap的初始值:0
HashMap是否为空:是
3
HashMap是否为空:否
niuniu 2 hashcode:-1045196352
egg 3 hashcode:100357
erqing 1 hashcode:-1294670850
true
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
Java中高级面试高频考点整理
最后分享Java进阶学习及面试必备的视频教学
.(img-xtRQtopb-1711139210883)]
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
[外链图片转存中…(img-6DSkN7qx-1711139210884)]
Java中高级面试高频考点整理
[外链图片转存中…(img-7DphzV0C-1711139210885)]
[外链图片转存中…(img-ItGla8Zk-1711139210885)]
最后分享Java进阶学习及面试必备的视频教学
[外链图片转存中…(img-7DcBg679-1711139210885)]