【Java基础】· 集合习题详解

news2024/11/25 14:47:00

写在前面


        Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误不足之处,请多多指正!谢谢大家!!!

        如果小哥哥小姐姐们对我的文章感兴趣,请不要吝啬你们的小手,多多点赞加关注呀!❤❤❤ 爱你们!!!


目录

写在前面

Collection 和 Collections的区别

Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别

List, Set, Map是否继承自Collection接口

两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对

说出ArrayList,Vector, LinkedList的存储性能和特性

HashMap和Hashtable的区别

ArrayList和Vector的区别

你所知道的集合类都有哪些?主要方法?

定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素,添加另一个集合,删除元素,判断集合中是否包含一个元素,判断是否为空,清除集合,返回集合里元素的个数等常用操作。

创建Set接口的实现类,添加10个以上的元素,通过Iterator遍历此集合元素。

创建Set接口的实现类,添加10个以上的元素,通过foreach遍历此集合元素。

创建Set接口的实现类,添加10个以上的元素,要求能够排序。

创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了;如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变

创建ArrayList实例化对象,添加10个以上的元素,在2号位插入一个元素,获得5号位元素,删除6号位元素,修改7号位的元素;

定义一个Map接口类型的变量,引用一个实现类,添加键值对,判断集合中是否包含某一key值,通过某一key值得到value值,通过某一key删除键值对,把另一个map集合添加到此map集合,判断是否为空,清除集合,返回集合里元素的个数等常用操作。通过两种方法遍历map集合

使用Map接口的实现类完成员工工资(姓名--工资)的摸拟:

1)添加几条信息

2)列出所有的员工姓名

3)列出所有员工姓名及其工资

4)删除名叫“Tom”的员工信息

5)输出Jack的工资,并将其工资加1000元(通过取值实现)

6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)

封装一个新闻类,包含标题、作者、新闻内容和发布时间,新闻标题如下:

按要求完成如下操作 

按要求完成如下操作

以下代码的运行结果?

结语


【集合精讲】

一文带你深入理解【Java基础】· Java集合(下)

一文带你深入理解【Java基础】· Java集合(中)

一文带你深入理解【Java基础】· Java集合(上)


Collection 和 Collections的区别

答:Collection是集合类的上级接口,继承于他的接口主要有Set 和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作


Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别

答:Set里的元素是不能重复的,用equals()方法判读两个Set是否相等

    equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值


List, Set, Map是否继承自Collection接口

答: List,Set是,Map不是


两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对

答:不对,有相同的hash code


说出ArrayList,Vector, LinkedList的存储性能和特性

答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。


HashMap和Hashtable的区别

答:

1.HashMap与Hashtable都实现了Map接口。由于HashMap的非线程安全性,效率上可能高于Hashtable。Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

2. HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

3.HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

4.Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

5.Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。


ArrayList和Vector的区别

答:就ArrayList与Vector主要从二方面来说.

一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

二.数据增长:当需要增长时,Vector默认增长为原来的2培,而ArrayList却是原来的1.5倍


你所知道的集合类都有哪些?主要方法?

答:最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。

Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。


定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素,添加另一个集合,删除元素,判断集合中是否包含一个元素,判断是否为空,清除集合,返回集合里元素的个数等常用操作。

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Test {
    public static void main(String[] args) {
        //引用一个Set集合实现类
       Set set = new HashSet();
       //添加单个元素
       set.add("哈");
       set.add("士");
       set.add("奇");
       //添加另一个Set集合
       Set S = new HashSet();
       //将一个集合的所有元素添加到另一个集合
       S.addAll(set);
       //移除指定元素
       S.remove("哈");
       //判断集合中是否包含另一个元素
       System.out.println("集合中是否含有“哈”:" + S.contains("哈"));
       //判断是否为空
       System.out.println("集合是否为空:" + S.isEmpty());
       //清除集合
       S.clear();
       //返回集合元素个数
       System.out.println(S.size());
   }
}


创建Set接口的实现类,添加10个以上的元素,通过Iterator遍历此集合元素。

public static void main(String[] args) {
    //创建Set接口的实现类
    Set set1 = new HashSet();

    //添加10个以上的元素
    set1.add(22);
    set1.add(2);
    set1.add(55);
    set1.add(78);
    set1.add(5);
    set1.add(15);
    set1.add(7);
    set1.add(30);
    set1.add(9);
    set1.add(70);
    set1.add(11);

    //通过Iterator遍历此集合元素
    Iterator iterator = set1.iterator();
    while(iterator.hasNext()){
        System.out.print(iterator.next() + " ");
    }
}


创建Set接口的实现类,添加10个以上的元素,通过foreach遍历此集合元素。

public class SetTest {
    @Test
    public void test1() {
        HashSet<Object> objects = new HashSet<>();
        objects.add("123");
        objects.add("drtg");
        objects.add("25");
        objects.add("srthy");
        objects.add("zxc");
        objects.add("tdfh");
        objects.add("453");
        objects.add("SDGFrdsh");
        objects.add("zx254c");
        objects.add("sdGFSD");
        objects.add("578585");

        for (Object obj : objects) {
            System.out.println(obj);
        }
    }
}


创建Set接口的实现类,添加10个以上的元素,要求能够排序。

@Test
    public void test2() {
        TreeSet<Object> set1 = new TreeSet<>();
        set1.add(123);
        set1.add(456);
        set1.add(789);
        set1.add("asd");
        set1.add("zxc");
        set1.add("sdfg");
        set1.add("qwe");
        set1.add(856);
        set1.add(649815);
        set1.add(4563);
        set1.add("dafdsgf");
        set1.add(65);
        set1.add(13);
        set1.add(63);

        for (Object obj : set1) {
            System.out.println(obj);
        }
    }


创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了;如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变

car

public class Car {
    //创建Car类,包含name,price属性,构造器等方法

    private String name;

    private int price;

    public Car() {
    }

    public Car(String name, int price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "name=" + name +
                "  price=" + price;
    }
}

测试类:

public class CarTest {
    public static void main(String[] args) {
        //创建测试类,在main方法中创建Set接口的实现类
        Set<Car> set = new TreeSet<>(new Comparator<Car>() {
            @Override
            public int compare(Car o1, Car o2) {
                int num = o1.getName().compareTo(o2.getName());
                int num1 = num == 0 ? o1.getPrice() - o2.getPrice() : num;
                return num1;
            }
        });

        //添加5个以上的Car对象
        set.add(new Car("沃尔沃",250000));
        set.add(new Car("大众",150000));
        set.add(new Car("凯迪拉克",350000));
        set.add(new Car("奥迪",550000));
        set.add(new Car("雷克萨斯",950000));
        set.add(new Car("雷克萨斯",950000));

        //遍历集合元素,验证重复元素是否过滤了,如果没有过滤,实现过滤功能
        for (Car car : set){
            System.out.println(car);
        }
        System.out.println("------------------------------");

        //把每个小车的price降10000元,再遍历,查看price是否已改变
        for (Car car : set){
            car.setPrice(car.getPrice()-10000);
            System.out.println(car);
        }
    }
}


创建ArrayList实例化对象,添加10个以上的元素,在2号位插入一个元素,获得5号位元素,删除6号位元素,修改7号位的元素;

@Test
    public void Test3() {
        ArrayList<Object> list = new ArrayList<>();
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(2, 365);
        System.out.println(list.get(5));
        list.remove(6);
        list.set(7, 666);
        Iterator<Object> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }


定义一个Map接口类型的变量,引用一个实现类,添加键值对,判断集合中是否包含某一key值,通过某一key值得到value值,通过某一key删除键值对,把另一个map集合添加到此map集合,判断是否为空,清除集合,返回集合里元素的个数等常用操作。通过两种方法遍历map集合

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

    @Test
    public void test4() {
        // 定义一个Map接口类型的变量,引用一个实现类
        HashMap<String, String> hashMap = new HashMap<String, String>();

        //添加键值对
        hashMap.put("123", "你好");
        hashMap.put("蜂蜜", "柚子茶");
        hashMap.put("Lisa", "Rose");

        //判断集合中是否包含某一key值
        System.out.println(hashMap.containsKey("蜂蜜"));//ture

        //通过某一key值得到value值
        System.out.println(hashMap.get("123"));//你好

        //通过某一key删除键值对
        hashMap.remove("蜂蜜");
        System.out.println(hashMap); //{123=你好, Lisa=Rose}

        //把另一个map集合添加到此map集合
        HashMap<String, String> hashMap1 = new HashMap<String, String>();
        hashMap1.putAll(hashMap);

        //判断是否为空
        System.out.println(hashMap.isEmpty());//false

        //清除集合
        hashMap.clear();

        //返回集合里元素的个数
        System.out.println(hashMap.size()); //0

        //通过两种方法遍历上题中的map集合
        //方式一
        Set<String> keySet = hashMap1.keySet();
        for (String key : keySet) {
            String value = hashMap1.get(key);
            System.out.println("key:" + key + " , " + "value:" + value);
        }
        System.out.println("-------------------------");
        //方式二
        Set<Map.Entry<String, String>> entrySet = hashMap1.entrySet();
        for (Map.Entry<String, String> me : entrySet) {
            String key = me.getKey();
            String value = me.getValue();
            System.out.println("key:" + key + " , " + "value:" + value);
        }
    }


使用Map接口的实现类完成员工工资(姓名--工资)的摸拟:

1)添加几条信息

2)列出所有的员工姓名

3)列出所有员工姓名及其工资

4)删除名叫“Tom”的员工信息

5)输出Jack的工资,并将其工资加1000元(通过取值实现)

6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)

@Test
    public void test5() {
        HashMap<String, Integer> hashMap = new HashMap<String, Integer>();

        //1)添加几条信息
        hashMap.put("Pamela", 5000);
        hashMap.put("Jack", 4800);
        hashMap.put("Tom", 6100);
        hashMap.put("Lee", 800);
        hashMap.put("Lara", 500);

        //2)列出所有的员工姓名
        Set<String> keySet = hashMap.keySet();
        System.out.println("员工姓名:" + keySet);

        //3)列出所有员工姓名及其工资
        for (String key : keySet) {
            //5)输出Jack的工资,并将其工资加1000元(通过取值实现)
            if (hashMap.get(key).equals("Jack")) {
                int value = hashMap.get(key) + 1000;
                hashMap.put("Jack", value);
            }

            //6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)
            if (hashMap.get(key) < 1000) {
                double value = (hashMap.get(key) + (hashMap.get(key) * 0.2));
                hashMap.put(key, (int) value);
            }
            int value = hashMap.get(key);
            System.out.println("姓名:" + key + " , " + "工资:" + value);
        }

        //4)删除名叫“Tom”的员工信息
        hashMap.remove("Tome");
    }


封装一个新闻类,包含标题、作者、新闻内容和发布时间,新闻标题如下:

新闻一:中国多地遭雾霾笼罩空气质量再成热议话题

新闻二:民进党台北举行“火大游行”

新闻三:春节临近北京“卖房热”

新闻四:春节临近北京“卖房热”

完成如下要求(共50分,每小题10分):

1)完成对新闻类的设计,要求在初始化新闻类对象时 ,通过构造传参的形式对新闻标题赋值,并要求实例化四个对象,标题内容如题。

2)要求打印新闻对象时,直接打印新闻标题;

3)要求使用equals方法比较新闻时,只要标题相同,就认为是同一新闻,请输出新闻一与新闻二的比较结果,新闻三与新闻四的比较结果。

4)将新闻对象存入HashSet集合中,并且遍历集合,打印新闻类对象;

5)打印集合中新闻数量。

public class Journalism {
    //封装一个新闻类,包含标题、作者、新闻内容和发布时间,

    private String title;

    private String author;

    private String details;

    private Date date;

    public Journalism() {
    }

    public Journalism(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    @Override
    public String toString() {
        return "标题:" + title +
                "\n作者:" + author +
                "\n内容:" + details +
                "\n发布时间:" + date ;
    }

    //要求使用equals方法比较新闻时,只要标题相同,就认为是同一新闻

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Journalism that = (Journalism) o;

        return title != null ? title.equals(that.title) : that.title == null;
    }

    @Override
    public int hashCode() {
        return title != null ? title.hashCode() : 0;
    }
}
public class Test {
    public static void main(String[] args) {
        //创建HashSet集合对象
        Set<Journalism> set = new HashSet<Journalism>();

        //要求在初始化新闻类对象时 ,通过构造传参的形式对新闻标题赋值,并要求实例化四个对象,标题内容如题。
        Journalism journalism1 = new Journalism("中国多地遭雾霾笼罩空气质量再成热议话题");
        Journalism journalism2 = new Journalism("民进党台北举行“火大游行“");
        Journalism journalism3 = new Journalism("春节临近北京“卖房热”");
        Journalism journalism4 = new Journalism("春节临近北京“卖房热”");

        //将新闻对象存入HashSet集合中
        set.add(journalism1);
        set.add(journalism2);
        set.add(journalism3);
        set.add(journalism4);

        //要求打印新闻对象时,直接打印新闻标题;
        for (Journalism journalism : set){
            System.out.println(journalism);
            System.out.println("------------------------");
        }

        //只要标题相同,就认为是同一新闻,请输出新闻一与新闻二的比较结果,新闻三与新闻四的比较结果
        System.out.println("新闻一与新闻二的比较结果:"+journalism1.equals(journalism2));
        System.out.println("新闻三与新闻四的比较结果:"+journalism3.equals(journalism4));

        //打印集合中新闻数量
        System.out.println("集合中新闻数量:"+set.size());
    }
}


按要求完成如下操作 

  1. 生成10个随机数,值在100到200之间;
  2. 将这十个数存入HashSet集合中(有可能集合的长度小于10)。
  3. 将这个HashSet集合转换成ArrayList集合
  4. 重新为ArrayList集合排序,按照从小到大的顺序;
  5. 使用foreach遍历集合;
 @Test
    public void test4() {
        HashSet<Integer> hashset = new HashSet<Integer>();
        Random random = new Random();

        for (int i = 0; i < 10; i++) {
            int j = random.nextInt(100) + 101;
            hashset.add(j);
        }
        System.out.println(hashset);

        ArrayList<Integer> list = new ArrayList<Integer>(hashset);
        list.sort(Comparator.naturalOrder());
        list.forEach(integer -> {
            System.out.print(integer + " ");
        });
    }


按要求完成如下操作

1 )封装一个汽车类,包含String  name、int  speed属性,在测试类中实例化三个对象:c1,c2,c3,分别设置name为:“奥拓”,“宝马”,“奔驰”,速度分别设置为:100,200,300

2 )使用Map集合对象m1将这三个汽车类对象保存成key,然后将int型的汽车价钱作为值保存在m1的value中,上述三款汽车分别对应的价钱是10000,500000,2000000

3 )遍历m1的键,打印name属性

4 )通过合适的方法,求出m1中“宝马”的价格,并打印结果;

5 )经过折旧,所有汽车都降价到原来的80%,请打印降价后“宝马”的价格

   @Test
    public void test6() {
        //在测试类中实例化三个对象:c1,c2,c3,
        //分别设置name为:“奥拓”,“宝马”,“奔驰”,速度分别设置为:100,200,300
        Car c1 = new Car("奥拓", 100);
        Car c2 = new Car("宝马", 200);
        Car c3 = new Car("奔驰", 300);

        //2 )使用Map集合对象m1将这三个汽车类对象保存成key
        HashMap<Car, Integer> hashMap = new HashMap<>();

        //然后将int型的汽车价钱作为值保存在m1的value中,上述三款汽车分别对应的价钱是10000,500000,2000000
        hashMap.put(c1, 10000);
        hashMap.put(c2, 500000);
        hashMap.put(c3, 2000000);

        //3 )遍历m1的键,打印name属性
        Set<Car> keySet = hashMap.keySet();
        int i = 1;
        for (Car car : keySet) {
            System.out.print("car" + i++ + "name:" + car.getName() + "   ");
        }

        for (Car car : keySet) {
            //4 )通过合适的方法,求出m1中“宝马”的价格,并打印结果;
            if (car.getName().equals("宝马")) {
                int price = hashMap.get(car);
                System.out.println("\n宝马价格为:" + price);
            }
            //5 )经过折旧,所有汽车都降价到原来的80%,请打印降价后“宝马”的价格
            double price1 = hashMap.get(car) - (hashMap.get(car) * 0.2);
            hashMap.put(car, (int) price1);
        }
        //请打印降价后“宝马”的价格
        for (Car car : keySet) {
            if (car.getName().equals("宝马")) {
                int price = hashMap.get(car);
                System.out.println("宝马价格为:" + price);
            }
        }
    }


以下代码的运行结果?

public static void main(String[] args) {
    Integer[] datas = {1,2,3,4,5};
    List<Integer> list = Arrays.asList(datas);
    list.add(5);
    System.out.println(list.size());
}

运行异常,不允许添加元素


结语


本人会持续更新文章的哦!希望大家一键三连,你们的鼓励就是作者不断更新的动力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何测试 LoRaWAN 全球频段

To be a sailor of the world, bound for all ports. 做世界的水手&#xff0c;游遍所有的港口。 背景 自 2015 年 LoRa 联盟创建 LoRaWAN 协议&#xff0c;经过 7 年长跑&#xff0c;到 2022 年国际电信联盟 (ITU) 正式批准 LoRaWAN 作为全球标准: ITU-T Y.4480“广域无线网…

一些并查集的题~~判树,连通,带权

目录 A-Wireless Network B-The Suspects C - How Many Tables D - How Many Answers Are Wrong G - Supermarket L - 小希的迷宫 M - Is It A Tree&#xff1f; J - A Bug‘s Life E - 食物链 A-Wireless Network POJ - 2236 ​ 翻译&#xff1a; 东南亚发生了地震…

Android Camera性能分析 - 第27讲 Request Latency

​ 本讲是Android Camera性能分析专题的第27讲 ​&#xff0c;我们介绍CameraServer Request Latency&#xff0c;包括如下内容&#xff1a; Request Latency是什么Request Latency配置Request Latency实战 视频在线观看&#xff1a; 极客笔记&#xff1a;极客笔记在线课程加…

基于proe的阀体零件的机械加工工艺及夹具设计

目 录 摘 要 I Abstract II 1 绪论 1 1.1选题背景及意义 1 1.2发展现状 1 1.3研究主要内容 3 2 夹具的概述 4 2.1 夹具的发展趋势 4 2.2 夹具的组成 5 2.3 夹具的作用与意义 6 3 PROE设计环境的简述 8 3.1 PROE设计软件介绍 8 3.2 PRO/E的CAM功能应用 8 3.3 设计任务及要求 9 3…

sscanf与sprintf函数

本期介绍&#x1f356; 主要介绍&#xff1a;scanf()、printf()、fscanf()、fprintf()、sscanf()、sprintf()这三对输入/输出函数的区别&#xff0c;而且详细讲解了sscanf()、sprintf()这两个函数的应用场景&#x1f440;。 概述&#x1f356; 在C语言的输出和输入库中&#xf…

基于安卓的公司员工考勤系统的设计与实现

目 录 1 绪论 1 1.1 选题背景 1 1.2 研究现状 2 1.3 研究意义 3 1.4 研究内容 3 2 相关的理论和技术 4 2.1 JAVA技术与安卓介绍 4 2.2 Android的开发 5 2.3 Android常用的列表组件 5 2.4 Android所需知识的理解 8 2.4.1 自定义控件 8 2.4.2 进一步说明 10 3 系统分析 12 3.1系统…

生命在于折腾——Fishing软件的编写(易语言)

本篇文章仅用于学习交流&#xff0c;不得用于其他违规用途。 一、钓鱼软件是什么&#xff1f; 钓鱼软件是通常以精心设计的虚假网页引诱用户上当,达到盗取银行账号、信用卡号码等目的,属于违法行为。 钓鱼通常指伪装成银行及电子商务,窃取用户提交的银行帐号、密码等私密信息…

【计算机网络】网络基础(二)

本章主要对TCP/IP模型的网络层的初阶内容进行概括性讲述。 1、IP地址 当我们在配置计算机的IP地址时&#xff0c;是否会遇到下面的情形&#xff1a; 这是由于IP地址配置不正确造成的。在网络通信中&#xff0c;IP地址用来识别终端主机及网元设备&#xff0c;为了保障互联网正…

Siamese Neural Network (SNN: 孪生神经网络)

【学习参考】&#xff1a; https://blog.csdn.net/MyArrow/article/details/122539749https://blog.csdn.net/MyArrow/article/details/122539749 Siamese network 孪生神经网络--一个简单神奇的结构 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/35040994 【Siamese和Ch…

Matlab reconstruct signal form sample points, convulsion

Usually we describe reconstruction as interpolation, and there are many approaches to reach it. In this article, I introduce a new method- convulsion Main signal function f(x)sin(15πxπ/10)f(x)sin(15\pi x\pi/10)f(x)sin(15πxπ/10) Convulsion Method Des…

半监督短语挖掘:autophrase是什么?

论文地址&#xff1a;《Automated Phrase Mining from Massive Text Corpora》 git地址&#xff1a; GitHub - shangjingbo1226/AutoPhrase: AutoPhrase: Automated Phrase Mining from Massive Text Corpora 目录 简介&#xff1a; 1.短语需要满足什么条件&#xff1f; …

Java项目:ssm图书商城系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 该项目分为前后台&#xff0c;前台主要功能包括&#xff1a; 普通用户的注册、登录&#xff1b; 轮播图展示、图书列表、图书详情、加入购物车、…

【Java实战】泄露用户隐私被罚巨款?系统被攻击?如何避免?

目录 一、前言 二、安全规约 1.【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 2.【强制】用户敏感数据禁止直接展示&#xff0c;必须对展示数据进行脱敏。 3.【强制】用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定&#xff0c;防止 SQL 注入…

python带你对北京二手房进行数据分析,看看大概都什么价位

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 今天我们的目的想必大家看标题就能明白了~ 准备 首先&#xff0c;我们要提前准备好数据 然后打开我们的数据分析工具&#xff1a; Jupyter 代码及效果展示 导入模块 # 导入做数据处理的模块pandas import pandas as pd …

java计算机毕业设计ssm社会救援力量信息管理统计系统6q3cn(附源码、数据库)

java计算机毕业设计ssm社会救援力量信息管理统计系统6q3cn&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支…

flask入门教程之小项目实践

前面的2个章节对flask的一些简单操作进行了说明&#xff08;后面再慢慢补充进阶内容&#xff09; flask入门教程之请求与响应 flask入门教程之数据库保存 这个章节主要是根据前2个章节学到的内容&#xff0c;进行一个简单的学生信息增删改查的项目实践。 项目的简单介绍&#…

学习Java编程知识 必知要点

Java 是全球最受欢迎的编程语言之一&#xff0c;在世界编程语言排行榜 TIOBE 中&#xff0c;Java 一直霸占着前三名&#xff0c;有好多年甚至都是第一名。那么如此强大的Java你真的了解他的知识体系吗&#xff1f;他的学习路线你知道吗&#xff1f; 1. Java虚拟机——JVM JVM&a…

启动eureka服务端客户端报java.net.ConnectException: Connection refused: connect的错误

Request execution failed with message: java.net.ConnectException: Connection refused: connect1.先检查eureka服务端和客户端模块中的pom文件中是否引入了相对应的server和client的依赖 2.主启动类上是否加了对应启动注解&#xff1a; EnableEurekaServer //服务端的启动…

frp内网穿透搭建-宝塔版

一、搭建frp准备 下载frp部署文件&#xff1a;https://github.com/fatedier/frp/releases把防火墙安全端口打开&#xff0c;默认7500&#xff0c;7000&#xff0c;其他的自行设置打开&#xff0c;如阿里云服务器要打开端口规则。 二、配置frps服务端 把frps、frps.ini、LICE…

Java并发编程—java异步Future的迭代过程

在我们java多线程中&#xff0c;我想做一件事儿&#xff0c;但是我又不想影响主线程的执行&#xff0c;很多铁子都会想到用异步任务完成&#xff0c;这个时候我们的主角FutureTask就登场了。 一、FutureTask介绍 FutureTask提供了对Future的基本实现&#xff0c;是一个可取消的…