当前位置:网站首页>Day-17 connection set
Day-17 connection set
2022-07-07 12:36:00 【Xiaobai shelter】
Examination supplement
geter/seter Use of methods
for example Declare a variable private String name;
seter Is to set the attribute value , Therefore, it is necessary to enter , Don't worry if you set it up , No need to participate , Therefore, the return value type is void
public void setName(String name){
this.name=name;
}
geter Is to get the attribute value , Therefore, it is necessary to participate ( Return value ), No input is required , Just get value , It is not to modify the value
public String getName(){
return name;
}
1.LinkedList
① Concept :LinkedList: The bottom layer is a two-way linked list , Because it's not continuous storage , It's just that you can find the address of the next element , So add and delete High efficiency , But the query efficiency is low , Because you can only find one by one from the first
② Common operations :
stay LinkedList list=new LinkedList();
//ArrayList list=new ArrayList();
// Add to tail
list.add(1);
list.add(11);
list.add(2);
list.add(13);
// Add to specified location
//list.add(index,element);
// Add to head
//list.push(e);
//list.addFirst(e);
// Tail add
//list.addLast(e);
// Number
System.out.println(list.size());
// Determine whether it is null
System.out.println(list.isEmpty());
// Delete... According to subscript
list.remove(0);
// Delete according to data
list.remove(new Integer(11));
// Empty
list.clear();
// change
list.set(1, 521);
// obtain
list.get(2);
// Traverse
for(Object object:list){
}
} Insert the code chip here
1.2 Underlying implementation
1.2.1 A linked list consists of nodes , Because it's a two-way list , So there are three attributes in the node
1 Saved data Object
2 Next node object Node type
3 Previous node object Node type
1.2.2 LinkedList class
In order to add more efficiency from beginning to end , stay LinkedList The first and last nodes are saved in the class
1.2.3 add to -add、 obtain -get、
among Get Method just simulates the subscript acquisition method , It is essentially a traversal operation , Just made a certain judgment , Judge whether the first half is fast or the second half is fast
2 Set And sort
Set characteristic Disordered and unrepeatable , Unordered means that the order of addition and extraction are not guaranteed to be the same
HashSet: At the bottom is a hash table
TreeSet: At the bottom are red and black trees , The added elements must be sorted according to a certain format
Numbers : Default from small to large
character string : Per person ASCLL Code to sort
date : Natural date , Yesterday today tomorrow
2.1 TreeSet
public static void main(String[] args) {
// Create objects
TreeSet set = new TreeSet();
// add to
set.add(1);
set.add(2);
// because treeSet The elements must be in order , This means that the element types must be unified
// Without unity, there is no comparability , You can't sort
// set.add("xxx");
set.add(22);
set.add(12);
set.add(24);
// Do not repeat , Do not add if repeated
set.add(12);
System.out.println(set.size());
System.out.println(set);
// Delete by content , Cannot delete from index , Because there's no index
set.remove(22);
// Traverse
for (Object object : set) {
System.out.println(object);
}
set = new TreeSet();
// every ASCII Compare
set.add("aadddd");
set.add("aa");
set.add("acadas");
set.add("caa");
set.add("d");
// a,aa,aadddd,acadas,caa,d
System.out.println(set);
set = new TreeSet();
set.add("1");
set.add("2");
set.add("3");
set.add("4");
set.add("5");
set.add("6");
set.add("7");
set.add("8");
set.add("9");
set.add("10");
// [1, 10, 2, 3, 4, 5, 6, 7, 8, 9]
System.out.println(set);
}
2.2Comparable
Use TreeSet When , The element must implement Comparable Interface , Because when adding , This interface will be called automatically compareTo Methods for comparison
Add string , Numbers , When it comes to dates , Automatically sort , Because Integer,String,Date Both implement the interface and the method
If we want to store custom types , You need to let this class implement the corresponding interfaces and methods to store
2.3 Comparator
Comparator It is also a comparator class Comparable It's also quite , If these two exist at the same time , be Comparator High priority
Comparable: If treeSet When saving our own defined types in , Use Comparable
Comparator : If treeSet When the type we write is not saved in , Then use Comparator To specify the collation
such as Integer The default is ascending sort , If we need to sort in descending order , We can only use Comparator, Because we can't change Integer Source code
But this time Integer There is Comparable The implementation of the interface , Equal to two comparisons exist , however Comparator High priority ,
So it will be sorted according to the rules we define
Opening and closing principle : Turn off for changes , For extension development
2.4List Sort
Here public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(22);
list.add(3);
list.add(11);
// This method will call the... Of the object Comparable Medium compareTo Method or Comparator Methods in interfaces
// because Integer There is compareTo Method , And in ascending order , That's why you can use sort Method
// For example, if you want to descending order, you can use sort Method overloading
// Collections.sort(list);
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
// o1 Is the element to be added
// o2 It's the elements of the collection
Integer i1 = (Integer) o1;
Integer i2 = (Integer) o2;
// The method return 0 Repeated description , Don't add
// return Greater than 0 Value Indicates that the element to be added is larger than that in the collection , Just put it back
// return Less than 0 Value Indicates that the element to be added is smaller than the element in the collection , Just put it forward
return i2 - i1;
}
});
System.out.println(list);
list = new ArrayList();
list.add(new Student1(18));
list.add(new Student1(11));
list.add(new Student1(15));
list.add(new Student1(4));
// because Student1 It didn't come true comparable Interface So it can't be used sort Method
// Collections.sort(list);
// But you can use overloaded methods
Collections.sort(list,new Comparator () {
@Override
public int compare(Object o1, Object o2) {
return 0;
}
});
}
}
class Student1 {
int age;
public Student1(int age) {
super();
this.age = age;
}
Insert a piece of code into
3 summary
Comparable : If treeSet When saving our own defined types in , Use Comparable
Comparator : If treeSet When the type we write is not saved in , Then use Comparator To specify the collation
such as Integer The default is ascending sort , If we need to sort in descending order , We can only use Comparator, Because we can't change Integer Source code
But this time Integer There is Comparable The implementation of the interface , Equal to two comparisons exist , however Comparator High priority ,
So it will be sorted according to the rules we define
Opening and closing principle : Turn off for changes , For extension development
边栏推荐
- Apache installation problem: configure: error: APR not found Please read the documentation
- 跨域问题解决方案
- (to be deleted later) yyds, paid academic resources, please keep a low profile!
- In the small skin panel, use CMD to enter the MySQL command, including the MySQL error unknown variable 'secure_ file_ Priv 'solution (super detailed)
- 图像像素读写操作
- 【统计学习方法】学习笔记——第五章:决策树
- Routing strategy of multi-point republication [Huawei]
- VSCode的学习使用
- An error occurred when vscade tried to create a file in the target directory: access denied [resolved]
- SQL lab 1~10 summary (subsequent continuous update)
猜你喜欢
[deep learning] image multi label classification task, Baidu paddleclas
Decrypt gd32 MCU product family, how to choose the development board?
Tutorial on principles and applications of database system (010) -- exercises of conceptual model and data model
Inverted index of ES underlying principle
<No. 9> 1805. Number of different integers in the string (simple)
Vxlan static centralized gateway
Configure an encrypted web server
idea 2021中文乱码
Connect to blog method, overload, recursion
Aike AI frontier promotion (7.7)
随机推荐
[pytorch practice] use pytorch to realize image style migration based on neural network
Static comprehensive experiment
[pytorch practice] write poetry with RNN
对话PPIO联合创始人王闻宇:整合边缘算力资源,开拓更多音视频服务场景
2022广东省安全员A证第三批(主要负责人)考试练习题及模拟考试
Common knowledge of one-dimensional array and two-dimensional array
浅谈估值模型 (二): PE指标II——PE Band
leetcode刷题:二叉树27(删除二叉搜索树中的节点)
Sort out the garbage collection of JVM, and don't involve high-quality things such as performance tuning for the time being
Tutorial on principles and applications of database system (010) -- exercises of conceptual model and data model
Configure an encrypted web server
The left-hand side of an assignment expression may not be an optional property access.ts(2779)
编译 libssl 报错
[Q&A]AttributeError: module ‘signal‘ has no attribute ‘SIGALRM‘
Airserver automatically receives multi screen projection or cross device projection
Niuke website
SQL lab 26~31 summary (subsequent continuous update) (including parameter pollution explanation)
Simple implementation of call, bind and apply
AirServer自动接收多画面投屏或者跨设备投屏
Cookie