快捷方法:sout(println)、psvm(main)、.var
一、注解
1.引入库
1、File–>settings–>Plugins–>搜索lombok–install
2、在pom中加入
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
clean、install
重启idea
2.注解的使用
代码如下(示例):
personPlus.class
@Data//get set tostring方法免写
@AllArgsConstructor//有参构造方法免写
@NoArgsConstructor//无参构造方法免写
public class personPlus{
private String names;
private String snos;
private int ages;
}
pojo()方法
@Test
public void pojo(){
personPlus pers =new personPlus("xiaoming","18001",24);
System.out.println(pers.getAges());
}
二、转换
整数-小数-字符串的转换
//转换
@Test
public void transform(){
int a=1;
String s = Integer.toString(a);//整数转字符串
String str= String.valueOf(a);//整数转字符串
int i = Integer.parseInt(s);//字符串转整数
Double d=3.141592;
System.out.println(String.format("%.2f",d));//保留两位小数
System.out.println(getType(d));//获取数据类型
}
//返回数据类型
public static String getType(Object d){
return d.getClass().toString();
}
三、数组
固定数组与动态数组的区别:ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
代码如下(示例):
//固定数组
@Test
public void fors(){
int[] a=new int[3];
a[0]=1;
a[1]=2;
a[2]=3;
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
int[] b={1,2,3};
for(int i:b){
System.out.println(i);
}
}
//动态数组
@Test
public void forss(){
ArrayList<Integer> integers = new ArrayList<Integer>();
integers.add(1);
integers.add(2);//添加元数
integers.add(5);//添加元数
integers.add(4);//添加元数
integers.set(1,3);//修改元数
System.out.println(integers);//打印
System.out.println(integers.subList(0,2));
System.out.println(integers.get(1));//通过下标获取
integers.remove(integers.indexOf(1));//返回1的下标并删除
System.out.println(integers);
Collections.sort(integers);//排序
for(int i=0;i<integers.size();i++){
System.out.println(integers.get(i));
}
Object[] a=integers.toArray();
System.out.println(a);//subList()
for(Object i:a){
System.out.println(Integer.parseInt(i.toString()));
}
}
}
四、链表LinkedList
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。
以下情况使用 ArrayList :
频繁访问列表中的某一个元素。
只需要在列表末尾进行添加和删除元素操作。
以下情况使用 LinkedList :
你需要通过循环迭代来访问列表中的某些元素。
需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。
@Test
public void Linklist(){
LinkedList<String> strings = new LinkedList<String>();
strings.add("吴汉");
strings.add("天下");
strings.add("第一");
strings.add("帅");
System.out.println(strings);
strings.addFirst("假如");//头部添加
System.out.println(strings);
strings.addLast("吗?");//皆为添加
strings.removeFirst();//删除第一个元数
strings.removeLast();//删除结尾元数
strings.getFirst();//获取第一个元数
strings.getLast();//获取结尾元数
for (int size = strings.size(), i = 0; i < size; i++) {//循环遍历
System.out.println(strings.get(i));
}
}
五、HashSet
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。
//HashSet
@Test
public void hashset(){
HashSet<String> strings = new HashSet<String>();
strings.add("杨子澳");
strings.add("能考上");
strings.add("研");
System.out.println(strings);
System.out.println(strings.contains("吗?"));//包含
strings.remove("杨子澳");
System.out.println(strings);
}
六、HashMap
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
//HashMap
@Test
public void hashmap(){
ArrayList<HashMap> hashMaps = new ArrayList<HashMap>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("姓名","邓世杰");
map.put("职业","烧烤店老板");
map.put("爱好","蚕蛹");
System.out.println(map);
hashMaps.add(map);//将map加入列表
System.out.println(hashMaps);
System.out.println(map.get("姓名"));//获取值
map.remove("爱好");
System.out.println(map);
for (String i : map.keySet()) {
System.out.println("key: " + i + " value: " + map.get(i));
}
// 返回所有 value 值
for(String value: map.values()) {
// 输出每一个value
System.out.print(value + ", ");
}
}
七、json
导入maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
转换
//jsonobject<-->string<-->bean<-->map
@Test
public void jsonstr(){
//字符串转json
String jsonStr = "{\"name\": \"澳\"," +
" \"sno\": \"18001\", " +
"\"age\": 23}";
JSONObject object = JSON.parseObject(jsonStr);
System.out.println(object.getString("name"));
//字符串转json实例
person personbean = JSON.parseObject(jsonStr, person.class);
System.out.println(personbean.getName());
//将JavaBean转换为JSON对象
person zao = new person("澳", "18001", 23);
JSONObject json = (JSONObject) JSON.toJSON(zao);
System.out.println(json.get("name"));
//map与json之间相互转换
Map map = new HashMap();
map.put("name","sean");
map.put("age","12");
//map转jsonobject
JSONObject jsonob = (JSONObject) JSON.toJSON(map);
//map转string
String str = JSON.toJSON(map).toString();
System.out.println(str);
String jsonstr = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
//json字符串转map
Map mapObj = JSONObject.parseObject(jsonstr,Map.class);
System.out.println(mapObj);
}
总结
学习永无止境