精华内容
下载资源
问答
  • java -新建list链表并赋值的方法总结1、直接初始化并赋值1.1 初始化的同时赋值1.2 先初始化后赋值2、将一个list赋值给另一个list2.1 对象引用的方式赋值2.2 非对象引用的方式赋值 1、直接初始化并赋值 1.1 初始化的...

    1、直接初始化并赋值

    1.1 初始化的同时赋值

    List<String> a = new ArrayList<String>() {//这个大括号 就相当于new 接口
                    {//这个大括号 --就是 构造代码块 会在构造函数前 调用
                        this.add("test1");
                        this.add("test2");
                        this.add("test3");
                    }
                };
    

    1.2 先初始化后赋值

    List<String> a = new ArrayList<String>();
    //通过add函数赋值
    a.add("test1");
    a.add("test2");
    a.add("test3");
    

    2、将一个list赋值给另一个list

    2.1 对象引用的方式赋值

    //将A的值赋给链表B
    List<String> A= new ArrayList<String>();  
    A.add("1");  
    A.add("2");  
    List<String> B = A; 
    

    注:此时B对象相当与A对象的引用,而并不是将A对象的值单纯的传递给B对象。即:B对象的操作将直接改变A对象。如B.add(“3”);结果A中也包含了“3”;

    2.2 非对象引用的方式赋值

    单纯的把值赋予另一个list的方式有多种。如下:
    (假设list A已初始化并赋值)

    1. 方式一:
    ArrayList B = new ArrayList<> (A);  
    
    1. 方式二:
    ArrayList B = A.clone();  
    
    1. 方式三:
    ArrayList B = new ArrayList<String>();
    B.addAll(A);
    
    1. 方式四:
    for(String s: A)  {
           B.add(s);  
     }
    
    展开全文
  • java--新建list 并赋值

    千次阅读 2019-09-21 10:55:32
    数组初始化 时候的赋值 String[] strings = new String[]{ "one","two","three" ...list初始化时候的赋值 List<String> a = new ArrayList<String>() {//这个大括号 就相当...

    数组初始化 时候的赋值

     

    String[] strings = new String[]{
                  "one","two","three"
            };
    

      

     

    list 初始化时候的赋值

     

    List<String> a = new ArrayList<String>() {//这个大括号 就相当于我们  new 接口
    				{//这个大括号 就是 构造代码块 会在构造函数前 调用
    					this.add("ZBP3100019");	
    					this.add("ZBP3100019");
    					this.add("ZBP3100019");	
    					this.add("ZBP3100019");
    					this.add("ZBP3100019");	
    					this.add("ZBP3100019");
    					this.add("ZBP3100019");	
    					this.add("ZBP3100019");
    				}
    			};
    

      

    转载于:https://www.cnblogs.com/llq1214/p/11383075.html

    展开全文
  • 其实java和微软的C#在设计上差不多,C#在设计上应该比java还要高明一点。最近也是一直在看java方面的书和资料,感觉上java其实是另一个作用了云端的更庞大的生态系统,但我这种非计科出身的人,就像机械设计常用的...

    其实java和微软的C#在设计上差不多,C#在设计上应该比java还要高明一点。最近也是一直在看java方面的书和资料,感觉上java其实是另一个作用了云端的更庞大的生态系统,但我这种非计科出身的人,就像机械设计常用的solidworks和creo,感觉不出两者哪个好不好的,但从工业控制上来说,C#应该是好一点的,毕竟配合winform的话,只用关注你的业务逻辑就好了,节省了大量的时间,如果是一;个人操刀并且想快速出活的话,还是首选C#。但这个有什么关系呢,实际上只能是项目的需求选型了什么框架,那你就直接用对应框架上最合适的语言就好了。

    还是一样,学习一门新语言,直接过一遍基本语法和字符串,IO,集合常用操作后,直接对常用数据结构进行敲代码,对,就是这样简单粗暴,敲完基础数据结构再看一下JCF对应的源码是怎么实现的。数据结构在上学的时候是没学的,后来是在用自学了C#后买了一本图解数据结构的C#版学会的。后面比较难的AVL、图部分的知识也忘记了,毕竟应用场景少。这方面一直是Ctrl+C和Ctrl+V后修改操作,这次也算是下决心整治一下自己缺失的这一部分。

    本次先实现最简单的链表操作,理论上来说,C#和java都是自动GC的语言,所以不能如C++一样操作操作指针字符。不过没关系,在C#中,可以直接使用类模拟对应的链点存储用的节点,可以在java中一样实现。

    模拟Node节点

    class Node{
         public int data;
         public Node next;
         public Node(int data){
             this.data=data;
             this.next=null;
         }
    }

    大学的时候其实是选修了C++的,开始在C++中尝试以上代码在C++中是有问题的,因为在C++中,Node next相当Node next=new Node()会无限初始化,但在C#中只是生成了一个4字节的引用,java和C#的性质应该一样的,但就不知道是不是4字节了,有空再找一下资料吧。

    初始化链表:

    public class LinkedList {
        //生成前后节点指针;
        private Node first;
        private Node last;
        public boolean isEmpty(){
            return first==null;
        }
        public void inset(int data){
            Node newNode=new Node(data);
            if(this.isEmpty()){
                //从头插入
                first=newNode;
                last=newNode;
            }
            else{
                //从后插入
                last.next=newNode;
                last=newNode;
            }
        }
        //必须获得第一个指针完成遍历
        public void print(){
            Node node=first;
            while (node!=null){
                System.out.println(node.data);
                node=node.next;
            }
        }
    }
        
        

    方法的话,是做了非空检查,插入和打印的函数。

    做一个Test类:

    
    class LinkedListTest {
        public static void main(String[] args) throws IOException {
            BufferedReader bufferedReader=new BufferedReader(new InputStreamReader((System.in)));
            int data;
            System.out.println("请输入3个整数:");
            LinkedList list=new LinkedList();
            for (int i = 0; i <3; i++) {
                int num=Integer.parseInt(bufferedReader.readLine());
                //将值插入链表中
                list.inset(num);
            }
            //将值打印出来
            list.print();
        }
    
    }

    可以获得值

    12b749364a3a7f991d4b17bafb92fd26.png
    展开全文
  • Java新建对象属性过多

    2021-01-25 21:54:47
    背景:有时候根据业务需要,一个对象中有多个属性(参数),一般这个时候可以采用构造方法在新建对象的时候将所有属性进行赋值,或者在新建对象后通过set方法将...import java.util.List; import java.util.function.C.

    背景:有时候根据业务需要,一个对象中有多个属性(参数),一般这个时候可以采用构造方法在新建对象的时候将所有属性进行赋值,或者在新建对象后通过set方法将属性一个一个赋值。但无论采用哪种方式,都会导致代码看上去不美观,不便于维护。最近正好在手动造一些轮子,于是就学习总结了一个通用的build类,用于新建拥有多个属性的对象。

    一、直接上代码,复制即用。

    import java.util.ArrayList;
    import java.util.List;
    import java.util.function.Consumer;
    import java.util.function.Supplier;
    
    /**
     * 通用对象build类,用于多个属性的对象
     *
     * @author hwang
     * @date 2021/1/25 14:35
     */
    public class EasyBuilder<T> {
        private final Supplier<T> instantiate;
        private List<Consumer<T>> modifiers = new ArrayList<>();
    
        private EasyBuilder(Supplier<T> instantiate) {
            this.instantiate = instantiate;
        }
    
        /**
         * build方法,装填参数
         *
         * @return 对象
         */
        public T build() {
            T value = instantiate.get();
            modifiers.forEach(modifier -> modifier.accept(value));
            modifiers.clear();
            return value;
        }
    
        public static <T> EasyBuilder<T> of(Supplier<T> instantiate) {
            return new EasyBuilder<>(instantiate);
        }
    
        public <P> EasyBuilder<T> with(MyConsumer1<T, P> consumer, P p) {
            Consumer<T> c = instance -> consumer.accept(instance, p);
            modifiers.add(c);
            return this;
        }
    
        public <P1, P2> EasyBuilder<T> with(MyConsumer2<T, P1, P2> consumer, P1 p1, P2 p2) {
            Consumer<T> c = instance -> consumer.accept(instance, p1, p2);
            modifiers.add(c);
            return this;
        }
    
        public <P1, P2, P3> EasyBuilder<T> with(MyConsumer3<T, P1, P2, P3> consumer, P1 p1, P2 p2, P3 p3) {
            Consumer<T> c = instance -> consumer.accept(instance, p1, p2, p3);
            modifiers.add(c);
            return this;
        }
    
        /**
         * 一个参数,用于set方法等
         *
         * @param <T>
         * @param <P>
         */
        @FunctionalInterface
        public interface MyConsumer1<T, P> {
            void accept(T t, P p);
        }
    
        /**
         * 两个参数
         *
         * @param <T>
         * @param <P1>
         * @param <P2>
         */
        @FunctionalInterface
        public interface MyConsumer2<T, P1, P2> {
            void accept(T t, P1 p1, P2 p2);
        }
    
        /**
         * 三个参数(更多以此类推)
         *
         * @param <T>
         * @param <P1>
         * @param <P2>
         * @param <P3>
         */
        @FunctionalInterface
        public interface MyConsumer3<T, P1, P2, P3> {
            void accept(T t, P1 p1, P2 p2, P3 p3);
        }
    }
    

    二、存在的问题

    ​ 由于是封装的通用构造器,因此对于参数的控制有时不能满足需求,比如新建对象时控制哪些参数为必须,哪些参数为非必须,有空补。。。

    展开全文
  • Java新建对象并赋值的方法一般是 int a = 1; String b="公众号:霸道的程序猿"; 即使是数组,在新建时并赋值 int[] x={1,2,3,4}; 如果想在新建一个list并赋值要怎么办。 注: 博客:...
  • packageorg.ccnt.med.body;...importjava.util.List;public classNode {//叶子节点public final static String TYPE_LEAF = "leaf";//有子节点的节点public final static String TYPE_NODE = "node";//节...
  • 1 packagecom.agen.dao.impl;23 importjava.io.Serializable;4 importjava.lang.reflect.Field;5 importjava.util.ArrayList;6 importjava.util....7 importjava.util.List;8 importjava.util.Map;9 importj...
  • 程序中某段案例代码如下:Map> tMap = new HashMap>...程序运行抛出异常:java.lang.UnsupportedOperationException错误原因:为了快速创建List而使用了Arrays.asList方法,但此方法返回的Arra...
  • java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少写不少代码。新建实体类1.分组通过groupingBy可以分组指定字段2.过滤通过filter方法...
  • 通过Controllere类的Stream()和parallelStream()创建流//通过集合创建流@Testpublic void test1() {String arr...//把数组转换成集合List list = Arrays.asList(arr);//生成stream流(串行流)Stream stream = list.s...
  • 使 SortList 实现重复键排序SortList默认对按Key来排序,且Key值不能重复,但有时可能需要用有重复值的Key来排序,以下是实现方式: 1.对强类型:以float为例 #region 使SortList能对重复键排序 ...arduino图形化编程——...
  • java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少写不少代码。新建实体类1.分组通过groupingBy可以分组指定字段2.过滤通过filter方法...
  • 新建两个List,并排序,去除相同项 package comm.util; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; ...
  • 展开全部java的集合排序可以这样做:(1)新建排序规则packagecom.test;importjava.util.Comparator;/***@作者王建明*@创建日e69da5e6ba9062616964757a686964616f31333332636361期13-10-18*@创建时间下午9:40*@版本号V...
  • 一、jdk1.6的环境下新建ComparatorSort类,并实现Comparator接口,重写compare方法降序排序:o1的元素>o2的元素,并返回-1;o1的元素小于o2的元素,并返回1升序排序:o1的元素>o2的元素,并返回1;o1的元素小于...
  • JavaList集合的使用

    2019-04-25 09:42:32
    package edu.ht.dribt.zp.controller; import java.util.ArrayList; import java.util.List; public class test { //main主方法 public static void main(String... //新建一个list1 //我这里没有指定泛型,所...
  • 一、引言有时候我们从数据库中读取出了一个表的数据,比如存储的是中国的省市县的ID、名称与父节点ID,读出来的数据并不是前台想要的,这个时候我们要想法处理一下都出来的list,将它变为一个树。比如直接查出来是图...
  • JavaList的用法

    2018-01-10 16:04:57
    新建一个List List list = new ArrayList(); list.add("ab"); list.add("avf"); list.add("erf"); 遍历 方法一: for(String attribute : list) {  System.out.println(attribute); } 方法二: for...
  • package code;import java.io.FileReader;import java.io.FileWriter;import java.io.LineNumberReader;import java.util....import java.util.List;public class Code {private static List readFile(String...
  • javalist集合

    2017-07-12 19:40:00
    java集合中arraylist类是很方便使用的,在新建了对象后可以对其赋值各种类型的值,对象也是可以的。并且list集合是按照顺序进行排序的。 使用add方法可以为其赋值,非常的方便简单。可以添加各种不同的类型的值...
  • //新建List集合 List nowList=new ArrayList(); //加入元素 nowList.add(1); nowList.add(2); nowList.add(2); nowList.add(55); nowList.add(3); nowList.add(1); nowList.add(56); now
  • 泛型是一种规定了集合中传入类型的编程特性,可以显著减少代码量,偷懒用的,emm package demo; import java.util.ArrayList... * 新建一个名为course的list容器,规定只能存放course元素的集合 */ public List
  • 新建一个对象public class A {String a;String b;public A() {}public A(String a, String b) {this.a = a;this.b = b;}public String getA() {return a;}public void setA(String a) {this.a = a;}public String ...
  • 准备数据先新建一个ArrayList,本文中就直接采用了直接add字符串的方式,实际开发中,实体类会复杂的多。List list = new ArrayList<>();list.add("a");list.add("b");list.add("c");开始遍历fori方式遍历代码...
  • java list分组操作

    2019-12-31 08:58:43
    list分组操作 Guava包提供了对list进行分组操作的方法 Lists.partition(List<T> list, int size)。 目的: 将 list 按照指定的长度进行分割,返回一个新的List<... // 新建一个list ...
  • 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下一、说明使用Collections工具类的sort方法对list进行排序新建比较器Comparator二、代码排序:import java.util....
  • 简述判断一个list集合是否为空,我们的惯性思维是判断list是否等于null即可,但是在Java中,list集合为空还是为null,这是两码事。新建一个list对象,默认值是空,而非null;引用举个形象的例子,我有一个空着的水杯...
  • 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下一、说明使用Collections工具类的sort方法对list进行排序新建比较器Comparator二、代码排序:import java.util....
  • 我试图使用Collections.emptyList()而不是在条件中新建我自己的空列表:List list = (anArray != null) ? Arrays.asList(anArray) : Collections.emptyList();但是得到以下错误:error: incompatible typesList list...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,171
精华内容 468
关键字:

java新建list

java 订阅