idea+java的使用知识(java+maven)


快捷方法: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);
    }

总结

学习永无止境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值