JavaCollection集合--单列集合——JavaCollections类

目录

集合--->容器

代码

运行 

Java集合API

单列集合

Collectio接口 

List接口实现类

ArrayList  数组实现

概念

代码

运行 

代码

ArrayList方法

代码

运行 

LinkedList  链表实现

概念

代码

运行 

Vector  数组实现

概念

代码 

运行 

List接口集合迭代 

for循环

代码

运行

增强for循环

代码一

代码二

运行 

迭代器一

代码

运行 

​编辑

迭代器二

代码

运行

set接口

HashSet

概念

代码

运行

​编辑

代码

运行

HashSet自定义类型

代码

运行

TreeSet

概念

代码

运行

TreeSet自定义类型

代码

运行

Set接口集合迭代

Collection接口

Collections类

代码

运行

可变参数

代码

运行


集合--->容器

数组:同一种类型,长度固定,不可变,每个元素都有索引,索引从0开始。

数组在实际使用时有哪些不方便?

   长度不可变

1、现实中程序运行时数据量是可以改变的,需要能够满足可变的需求

2、有的时候想存储不可重复的数据,有的时候想对元素进行排序。

例:ArrayList中数组长度可自动扩容

代码

package com.ffyc.javacollection;

import java.util.ArrayList;

public class Demo {
    public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        arrayList.add("abc");
        arrayList.add("abc");
        arrayList.add("abc");
        arrayList.add("abc");
        arrayList.add("abc");
        arrayList.add("abc");
        arrayList.add("bbb");
        arrayList.add("ccc");
        arrayList.add("abc");
        arrayList.add("abc");
        arrayList.remove("bbb");
        System.out.println(arrayList);
    }
}

运行 

所以Java中为我们提供了许多不同特征的容器类

学习Java给我们提供的不同的容器类,来实现更为丰富的数据存储。

Java集合API

集合体系概述 Java的集合框架是由很多接口、抽象类、具体类组成的,都位于java.util包中。

单列集合

Collectio接口 

Collection 接口-定义了存取一组对象的方法,其子接口Set和List分别定义 了存储方式。

List接口实现类

ArrayList  数组实现
概念
ArrayList<String> arrayList = new ArrayList<>();

底层数组实现,查询的效率最快

中间删除,添加的效率低

数组的空间利用率可能会浪费

代码

List接口实现类 
  add
  ArrayList 是可以保存重复元素的,底层是数组实现,添加的元素类型可以是任意类型的  

package com.ffyc.javacollection.list;

import java.util.ArrayList;

public class ArraysListDemo1 { 
    public static void main(String[] args) {
        ArrayList alist = new ArrayList();
        alist.add(1);
        alist.add("c");
        alist.add('c');
        for (int i = 0;i<alist.size();i++){
            Object object = alist.get(i);
            if(object instanceof String){
                String s = (String) object;
                System.out.println(s.length());
            }
        }
    }
}
运行 

代码

然集合中默认是可以添加任意数据类型的,但是后续处理时,会出现类型转换问题
所以Java中 集合类都支持自定义类型(泛型 把类型当作参数传递) 


ArrayList<String> 定义时为集合中可以存储的数据设计一个类型,必须是类类型
好处:一个集合中只能存储一种相同数据类型,后续处理方便了 

package com.ffyc.javacollection.list;

import java.util.ArrayList;

public class ArraysListDemo1 { 
    public static void main(String[] args) { 
        ArrayList<Integer> arrayList1 = new ArrayList<>();
        arrayList1.add(10);//自动装箱
        ArrayList<String> arrayList2 = new ArrayList<>();
        arrayList2.add("hhh");
    }
}
ArrayList方法
代码

底层是一个数组,默认长度是10,当数组装满时,会自动扩容,,扩容到原来的1.5倍

package com.ffyc.javacollection.list;

import javax.net.ssl.SSLServerSocket;
import java.util.ArrayList;

public class ArraysListDemo2 { 
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        //向末尾添加元素,会自动扩容
        arrayList.add("hhh"); 
        arrayList.add("iii");
        arrayList.add("jjj");
        arrayList.add("sss");
        arrayList.add("kkk");
        arrayList.add("hhh");
        arrayList.add("iii");
        arrayList.add("jjj");
        arrayList.add("kkk");
        arrayList.add("hhh");
        arrayList.add("iii");
        arrayList.add("jjj");
        arrayList.add("kkk");
        //向指定的位置添加元素,位置从0开始 到size(实际装入的元素个数)
        arrayList.add(11,"sss"); 
        System.out.println(arrayList);
        //根据元素的内容删除数据,只删除匹配的第一个元素
        arrayList.remove("sss"); 
        System.out.println(arrayList);
        //删除并返回指定位置上元素
        String s = arrayList.remove(10);
        System.out.println(s); 
        System.out.println(arrayList);
        //是否包含指定元素
        System.out.println(arrayList.contains("hhh")); 
        //获取指定位置的元素(底层时数组,获取元素的速度是最快的)
        System.out.println(arrayList.get(3)); 
        //获取指定元素首次出现的位置
        System.out.println(arrayList.indexOf("jjj")); 
        //从后开始查找
        System.out.println(arrayList.lastIndexOf("hhh")); 
        //判断集合中的元素是否为空 为空--->true  否则--->false
        System.out.println(arrayList.isEmpty()); 
        //替换指定位置的元素
        System.out.println(arrayList.set(1, "ccc")); 
        //返回数组的实际(装有元素)长度(个数)
        System.out.println(arrayList.size()); 
        System.out.println(arrayList);
        //清空集合
        arrayList.clear(); 
        System.out.println(arrayList);
    }

}
运行 

LinkedList  链表实现
概念
LinkedList<String> linkedlist = new LinkedList<>();

查询慢

中间增加和删除速度快,元素不需要移动,只需要改变地址值

不存在空间浪费

代码

List接口实现类 
  LinkedList
  底层是链表实现,每一个数据封装在一个Node对象中。 

package com.ffyc.javacollection.list;

import java.util.LinkedList;

public class LInkedListDemo { 
    public static void main(String[] args) {
        LinkedList<String> linkedlist = new LinkedList<>();
        linkedlist.add("a");
        linkedlist.add("b");
        linkedlist.add("c");
        linkedlist.add("d");
        //向链表末尾添加元素
        linkedlist.add("d"); 
        //向指定的位置添加元素
        linkedlist.add(2, "e"); 
        System.out.println(linkedlist);
        //从链表中获取指定位置的元素(从头或者尾开始查找,效率低于ArrayList)
        System.out.println(linkedlist.get(3)); 
        System.out.println(linkedlist.contains("b"));
        System.out.println(linkedlist.remove("a"));
        System.out.println(linkedlist.remove(2));
        //删除并返回第一个结点内容
        System.out.println(linkedlist.removeFirst()); 
        //删除并返回最后一个结点内容
        System.out.println(linkedlist.removeLast()); 
        System.out.println(linkedlist.isEmpty()); 
        System.out.println(linkedlist.size());
        linkedlist.set(1, "s");
        System.out.println(linkedlist);
        //清空
        linkedlist.clear();
        System.out.println(linkedlist);
    }
}

运行 

Vector  数组实现
概念
Vector<Integer> vector = new Vector<>();
代码 

Vector 
  数组实现
  是多线程安全的 

package com.ffyc.javacollection.list;

import java.util.Vector;

public class VectorDemo { 
    public static void main(String[] args) {
        Vector<Integer> vector = new Vector<>();
        vector.add(1);
        vector.add(2);
        vector.add(3);
        vector.add(4);
        vector.add(1);
        vector.add(1);
        vector.add(1);
        vector.add(1);
        vector.add(1);
        vector.add(1);
        vector.add(1);
        System.out.println(vector);
    }
}
运行 

List接口集合迭代 
for循环
代码
package com.ffyc.javacollection.list;

import java.util.ArrayList; 

public class ArraysListDemo3 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("c");
        arrayList.add("d");
        arrayList.add("e");
        arrayList.add("f");

        //1、for循环
        for (int i = 0; i < arrayList.size(); i++) {
            if(arrayList.get(i).equals("a")){
                //for循环的时候,是支持从for循环中删除元素的,但是删除后,后面的元素会向前移动,需要控制索引
                arrayList.remove(i);
                i--;
            }
        }
        System.out.println(arrayList);
    }
}
运行

增强for循环

增强for循环中不可进行删除元素,不能使用remove(),使用会报错

代码一
package com.ffyc.javacollection.list;

import java.util.ArrayList; 

public class ArraysListDemo3 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("c");
        arrayList.add("d");
        arrayList.add("e");
        arrayList.add("f");

        //2、增强for循环
        for(String s:arrayList){
            if(s.equals("a")){
                arrayList.remove("a");//增强for循环时,删除元素的过程中不允许删除元素
            }
        }
        System.out.println(arrayList);
    }
}
代码二
package com.ffyc.javacollection.list;

import java.util.ArrayList; 

public class ArraysListDemo3 {

    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("c");
        arrayList.add("d");
        arrayList.add("e");
        arrayList.add("f");

        //增强for循环l 方式1:根据键找值
        for(String s:arrayList){
            System.out.println(s);
        }
    }
}
运行 

迭代器一
代码
package com.ffyc.javacollection.list;

import java.util.ArrayList;
import java.util.Iterator; 

public class ArraysListDemo3 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("c");
        arrayList.add("d");
        arrayList.add("e");
        arrayList.add("f");

        //迭代器1
        Iterator<String> it = arrayList.iterator();
        while(it.hasNext()){
            String n = it.next();
            if(n.equals("a")){
                it.remove();//迭代器中删除的方法,底层有一计数器,删除元素时,计数器会自动的回退
            }
        }
        System.out.println(arrayList);
    }
}
运行 
迭代器二

ListIterator():默认是从第0个位置开始的,只能从前向后遍

ListIterator(index):从指定的位置开始向前/向后遍历 

代码
package com.ffyc.javacollection.list;

import java.util.ArrayList; 
import java.util.ListIterator;

public class ArraysListDemo3 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("c");
        arrayList.add("d");
        arrayList.add("e");
        arrayList.add("f"); 

        ListIterator<String> listIterator = arrayList.listIterator(arrayList.size());//size = 最大索引+1
        while(listIterator.hasPrevious()){
            String s = listIterator.previous();
            System.out.println(s);
        }
    }
}
运行

set接口

HashSet
概念
HashSet<Student> stu = new HashSet<>();

底层使用的是HashMap

元素存储是无序的

去除重复元素的方式

hashCode() equals()

代码

Set接口:不能存储重复元素 
  HashSet
  元素是无序的(既不是添加顺序,也不是按元素的自然顺序) 

package com.ffyc.javacollection.set;

import java.util.HashSet;

public class HashSetDemo1 { 
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("a");
        set.add("x");
        set.add("p");
        set.add("k");
        set.add("i");
        set.add("e");
        set.add("p");
        System.out.println(set);
        System.out.println(set.contains("a"));
        System.out.println(set.isEmpty());
        set.remove("p");
        System.out.println(set);
        System.out.println(set.size());
        set.clear();
        System.out.println(set);
    }
}
运行
代码

向HashSet中是添加元素时,是如何判断元素是否重复的 

添加元素时 调用equals()判断,效率低(一个一个字符判断)
底层用到HsahCode() 和 equals() 方法
  puwvzwogvc 用内容计算一个hash值(整数),用hash值比较速度快
  但是hash是不安全的,有可能内容不同,计算的hash值相同
  当hash值相同时,调用equals方法,判断内容是否相等

  这样效率提高了 也保证安全了 

package com.ffyc.javacollection.set;

import java.util.HashSet;

public class HashSetDemo2 {     public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("a");
        set.add("x");
        set.add("puwvzwogvc");//500
        set.add("通话");
        set.add("重地");
        set.add("e");
        set.add("puwvzwogvc");//500
        System.out.println(set);
    }
}
运行

HashSet自定义类型
代码
package com.ffyc.javacollection.set;

public class Student extends Object implements Comparable<Student>{
    private int num;
    private String name;

    public Student(int num, String name) {
        this.num = num;
        this.name = name;
    }

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

        Student student = (Student) o;

        if (num != student.num) return false;
        return name.equals(student.name);
    }

    @Override
    public int hashCode() {
        int result = num;
        result = 31 * result + name.hashCode();
        return result;
    }

    @Override
    public String toString() {
        return "Student{" +
                "num=" + num +
                ", name='" + name + '\'' +
                '}';
    } 
}

添加时,判断时会调用类中hashCode()计算hash值,类中没有hashCode(),会调用父类hashCode()
Object类中的public native int hashCode();native本地方法(操作系统提供的)
所以只要是new出来的,调用Object类中hash值,是内容地址,肯定不相同
如果我们想要对象中的内容相等就判定为重复元素,就必须在我们的类中重写hashCode() equals() 用对象中的内容来计算hash值 

package com.ffyc.javacollection.set;

import java.util.HashSet;

public class HashSetDemo3 {
    public static void main(String[] args) {
        HashSet<Student> stu = new HashSet<>();
        Student stu1 = new Student(001, "钟白");
        Student stu2 = new Student(002, "逸帆");
        Student stu3 = new Student(003, "路先生");
        Student stu4 = new Student(001, "钟白");

        stu.add(stu1);
        stu.add(stu2);
        stu.add(stu3);
        stu.add(stu4);

        System.out.println(stu);
    }
}
运行

TreeSet
概念
TreeSet<Integer> tset = new TreeSet<>();

树型结构

有序(是根据值的自然顺序排序)

去重 排序使用的是compareTo()

代码

Set  不能存储重复元素 

  TreeSet
  底层是树型结构  有一个根节点,每一个结点有两个子节点,大的元素向右放,小的元素向左放

  添加进来的元素可以排序(有序的 不是添加的顺序,是元素的自然顺序) 

package com.ffyc.javacollection.set;

import java.util.TreeSet;

public class TreeSetDemo1 { 
    public static void main(String[] args) {
        TreeSet<Integer> tset = new TreeSet<>();
        tset.add(3);
        tset.add(1);
        tset.add(5);
        tset.add(4);
        tset.add(3);
        tset.add(2);
        tset.size();
        tset.contains(2);
        //删除并返回第一个元素
        System.out.println(tset.first());
        tset.isEmpty();
        //删除指定内容的一个元素
        tset.remove(3);
        //删除并返回最后一个元素
        System.out.println(tset.pollLast());
        System.out.println(tset);
        tset.clear();
        System.out.println(tset);
    }
}
运行

TreeSet自定义类型
代码
package com.ffyc.javacollection.set;

public class Student extends Object implements Comparable<Student>{
    private int num;
    private String name;

    public Student(int num, String name) {
        this.num = num;
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "num=" + num +
                ", name='" + name + '\'' +
                '}';
    }

    /*
      提供的排序比较的方法
    */
    @Override
    public int compareTo(Student o) {
        return this.num-o.num;
    }
}
package com.ffyc.javacollection.set;

import java.util.TreeSet;

public class TreeSetDemo2 { 
    public static void main(String[] args) {
        TreeSet<Student> tset = new TreeSet<>();
        Student stu1 = new Student(001, "钟白");
        Student stu2 = new Student(002, "逸帆");
        Student stu3 = new Student(003, "路先生");
        Student stu4 = new Student(001, "钟白");

        tset.add(stu2);
        tset.add(stu4);
        tset.add(stu3);
        tset.add(stu1);

        System.out.println(tset);
    }
}
运行

Set接口集合迭代

Set接口集合是有序的,没有下标,无法使用for循环,其他与collenction一致

遍历方式

增强for循环

迭代器遍历

Collection接口

Collection 接口-定义了存取一组对象的方法,其子接口Set和List分别定义 了存储方式。

Collections类

Collections是集合类的工具类,与数组的工具类Arrays类似

代码

集合工具类 

package com.ffyc.javacollection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class CollenctionsDemo {
    public static void main(String[] args) { 
        ArrayList<Integer> arrayList1 = new ArrayList<>();
        arrayList1.add(1);
        arrayList1.add(5);

        //把一个数组添加到集合中
        Collections.addAll(arrayList1,3,7,2,6 );
        //排序
        Collections.sort(arrayList1);
        //二分查找(必须有序)如果找到,返回元素所在位置
        System.out.println(Collections.binarySearch(arrayList1, 1));
        //交换位置
        Collections.swap(arrayList1, 3, 1);
        System.out.println(arrayList1);
        //逆序
        Collections.reverse(arrayList1);
        System.out.println(arrayList1);
        //随机顺序排放
        Collections.shuffle(arrayList1);
        System.out.println(arrayList1);
        //填充 集合中的元素全部一致化
        Collections.fill(arrayList1, 1);
        System.out.println(arrayList1);

        ArrayList<Integer> arrayList2 = new ArrayList<>();
        arrayList2.add(1);
        arrayList2.add(3);
        //把第二个参数的集合元素复制到第一个集合参数的集合中,第一个集合的size必须大于等于第二个集合size
        Collections.copy(arrayList1, arrayList2);
        System.out.println(arrayList2);
        System.out.println(arrayList1); 
    } 
}

运行

可变参数

      类型 ... 参数名  可变长度的参数,本质是数组 
      一个参数列表中,只能有一个可变长度的参数,而且必须放在参数列表的末尾 

代码

package com.ffyc.javacollection;
 
import java.util.Arrays; 

public class CollenctionsDemo {
    public static void main(String[] args) { 
        test(1,2,3);
    }
    public static void test(int b,int ...a){
        System.out.println(Arrays.toString(a));
    }
}

运行

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

知识推理技术解析与实战

目录 一、引言二、知识推理基础知识表示方法本体论语义网络图形数据库 推理机制概述演绎推理归纳推理类比推理 实践代码示例 三、知识推理的核心技术自动推理系统规则引擎推理算法 知识图谱的运用构建知识图谱知识推理与查询 推理算法深度分析转导推理逻辑推理概率推理 实践代码…

java智慧校园系统源码+SaaS智慧学校系统源码+PC端

java智慧校园系统源码SaaS智慧学校系统源码PC端 有演示&#xff0c;可正常上线运营可授权PC端&#xff0c;SaaS服务模式开发环境&#xff1a;Javaspringbootvueelement-uimysql开发语言&#xff1a;JavaspringbootVUE 小程序 全套源码 建设一个一流的智慧校园&#xff0c;使先进…

MuJoCo 入门教程(五)Python 绑定

系列文章目录 前言 本笔记本提供了使用本地 Python 绑定的 MuJoCo 物理入门教程。 版权声明 DeepMind Technologies Limited 2022 年版权所有。 根据 Apache License 2.0 版&#xff08;以下简称 "许可协议"&#xff09;授权&#xff1b;除非遵守许可协议&am…

操作系统1

概念 操作系统 组织和管理计算机系统中的软件和硬件&#xff0c;组织计算机系统工作流程、控制程序执行&#xff0c;提供给用户工作环境和友好的接口。 3个作用&#xff1a; 管理计算机中运行的程序和分配各种软硬件资源为用户提供友善的人机洁界面为应用程序的开发和运行提供…

二维相位解包理论算法和软件【全文翻译- 噪声滤波(3.53.6)】

3.5 噪音过滤 在本节中,我们将简要讨论相位数据的滤波问题。除了提高信噪比之外,噪声滤波还有助于减少残差的数量,从而大大简化相位解包过程。不过,我们必须注意到一个重要的问题。正如我们在第 1 章中指出的,相位本身并不是信号。它只是信号的一种属性。因此,应该过滤的…

ACM ICPS独立出版 | 第三届智能无人系统与人工智能国际会议(SIUSAI 2024)

会议简介 Brief Introduction 2024年第三届智能无人系统与人工智能国际会议(SIUSAI 2024) 会议时间&#xff1a;2024年5月17日-19日 召开地点&#xff1a;中国青岛 大会官网&#xff1a;www.siusai.org 2024年第三届智能无人系统与人工智能国际会议(SIUSAI 2024)由青岛大学主办…

基于java JSP 实现的固定资产管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea 系统展示 前台首页功能模块 固…

UV胶水能够粘接聚苯乙烯PS吗?

UV胶水能够粘接聚苯乙烯PS吗&#xff1f; 聚苯乙烯&#xff08;Polystyrene&#xff0c;简称PS&#xff09;是一种常见的合成聚合物&#xff0c;属于热塑性塑料。它是由苯乙烯单体聚合而成的&#xff0c;具有轻质、透明或半透明、电绝缘性好等特点。常见: 包装材料白色泡沫塑料…

[ESP32] 用RMT模块做红外遥控发射

本文采用ESP32内部只带的RMT模块作为发送红外遥控的发射器。 红外协议来自 美的R05D功能说明书&#xff1a; https://wenku.baidu.com/view/c46594141ed9ad51f01df2c3.html 通常编码格式为: L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’ T第一帧和第二帧相同采用MSB在先&…

武汉星起航深入分析市场动态,赢得跨境市场的高度认可

随着全球跨境电商的蓬勃发展&#xff0c;武汉星起航以其独到的市场洞察和深度合作模式在行业中崭露头角。公司凭借对市场趋势、消费者需求和竞争格局的敏锐洞察而声名鹊起&#xff0c;不仅成功跟随市场脉搏&#xff0c;更在竞争激烈的跨境电商领域中脱颖而出。 武汉星起航在制…

摄像头校准漫反射板提高识别物体

摄像头校准漫反射板是一种用于摄像头校准的重要工具。在摄像头成像过程中&#xff0c;由于各种因素的影响&#xff0c;如光线、角度、镜头畸变等&#xff0c;会导致摄像头成像出现偏差。为了消除这些偏差&#xff0c;提高摄像头的成像质量&#xff0c;需要使用摄像头校准漫反射…

短剧App开发:打造沉浸式观剧体验,引领短剧新风尚

在移动互联网时代&#xff0c;短视频、短剧等短内容形式正以其独特的魅力迅速崛起。为了满足广大用户对短剧内容的需求&#xff0c;我们致力于开发一款全新的短剧App&#xff0c;为用户带来沉浸式的观剧体验&#xff0c;引领短剧新风尚。 短剧App的开发&#xff0c;旨在为用户…

在python读取相邻两行的数据进行运算

​在数据处理和分析的过程中&#xff0c;我们经常需要从关系型数据库中提取数据。Python作为一种强大的编程语言&#xff0c;提供了多种库和工具来与SQL数据库进行交互。当我们需要获取SQL表中筛选后的行数时&#xff0c;可以使用Python结合SQL查询来实现。本文将详细介绍如何使…

arm交叉编译器工具

下载地址&#xff1a; Builds & Downloads | Linaro 进入首页后&#xff0c;点击" GNU Toolchain Integration Builds" 有以下版本&#xff1a; 根据自己的选择下载对应的版本&#xff0c;本例选择14.0-2023.06-1 根据板端对应的版本选择相应的下载 比如下载3…

OpenAI Sora:浅析文生视频模型Sora以及技术原理简介

一、Sora是什么&#xff1f; Sora官方链接&#xff1a;https://openai.com/sora 视频模型领头羊Runway Gen 2、Pika等AI视频工具&#xff0c;都还在突破几秒内的连贯性&#xff0c;而OpenAI&#xff0c;已经达到了史诗级的纪录。 OpenAI&#xff0c;永远快别人一步&#xff0…

MG-APP使用不同分析中心计算前向滤波PPP结果

下面分别使用了WUM和COD分析中心产品&#xff0c;基于MG-APP使用不同分析中心计算前向滤波PPP结果&#xff1a; 在使用MG-APP情况下&#xff0c;COD计算PPP比WUM计算效果好一点。 数据下载&#xff1a; 1、卫星轨道和钟差下载链接&#xff1a; 需要浏览器&#xff1a; CODE:h…

DESON德尚登录HOTELEX上海展,新品派对诠释品牌理念

3月27日&#xff0c;DESON德尚&#xff08;下简称DESON&#xff09;亮相第三十二届上海国际酒店及餐饮业博览会&#xff08;下简称HOTELEX上海展&#xff09;。在为期四天的展会中&#xff0c;DESON携其全新产品系列&#xff0c;与来自世界各地的3000余家展商&#xff0c;超20万…

LeetCode 24.两两交换链表中的节点

给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出&#xff1a;[2,1,4…

【GPT-4 Turbo】、功能融合:OpenAI 首个开发者大会回顾

GPT-4 Turbo、功能融合&#xff1a;OpenAI 首个开发者大会回顾 就在昨天 2023 年 11 月 6 日&#xff0c;OpenAI 举行了首个开发者大会 DevDay&#xff0c;即使作为目前大语言模型行业的领军者&#xff0c;OpenAI 卷起来可一点都不比同行差。 OpenAI 在大会上不仅公布了新的 …

机器学习 —— 数据分析与图表绘制

本文使用工具 Anaconda下载安装与使用 Jupyter Notebook的使用 本文使用数据集 机器学习实验所需内容.zip 以朝阳医院2018年销售数据为例&#xff0c;目的是了解朝阳医院在2018年里的销售情况&#xff0c;这就需要知道几个业务指标&#xff0c;本次的分析…