精华内容
参与话题
问答
  • * 输入一个Long数组,按要求输出一个等长的Long数组 * 输出数组的元素值等于,输入数组除相同下标外其他元素的积 * 如:输入[1, 2, 3, 4], 输出[24, 12, 8, 6] * 输出数组:output[0] = input[1] * input[2] ...
    /**
     * 输入一个Long数组,按要求输出一个等长的Long数组
     * 输出数组的元素值等于,输入数组除相同下标外其他元素的积
     * 如:输入[1, 2, 3, 4], 输出[24, 12, 8, 6]
     * 输出数组:output[0] = input[1] * input[2] * input[3],即 24 = 2 * 3 * 4
     *         output[1] = input[0] * input[2] * input[3],即 12 = 1 * 3 * 4
     * 要求:
     * 1. 需要在O(n)复杂度内完成操作
     * 2. 不需要考虑乘积越界的问题
     */
    public class sk2 {
        public static void main(String[] args) {
            long [] x = {1, 2, 3, 2,5,6};
            long [] xx =calc(x);
            for (int i = 0; i < xx.length; i++) {
                System.err.println(xx[i]);
            }
        }
        
        
        public static long[] calc(long[] array) {
            long[] l2  = null;
            if(array.length>0){
                int arrayLength = array.length;//集合长度
                l2 = new long [arrayLength] ;
                for (int i = 0; i < arrayLength; i++) {
                    long x =  1;
                    for (int j = 0; j < arrayLength; j++) {
                        if(i != j)
                            x*=array[j];
                    }
                    l2[i]= x ;
                }
            }
            return l2;
          }
    }

     

    转载于:https://www.cnblogs.com/mytzq/p/8359081.html

    展开全文
  • long数组Long数组转换

    千次阅读 2015-09-11 16:17:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
    Set<Long> idsSet = new HashSet<Long>();
    //过滤没有详情的id
    for(Entry<Long, UserProfile> entry : userProfileMap.entrySet()){
        UserProfile userProfile = entry.getValue();
        if (userProfile == null) {
            continue;
        }
        idsSet.add(userProfile.getUserId());
    }
    Long[] idsLong = idsSet.toArray(new Long[0]);  //long[]转为Long[]
    int idsLen = idsLong.length;
    long[] idslong = new long[idsLen];  //分配空间
    for(int i = 0; i < idsLen; i++){  //把Long[]转为long[]
        idslong[i] = idsLong[i];   
    }

    long a = new Long(0);  //非数组转换不需要考虑空间问题,数组转换则需要分配空间,如上



    转载于:https://my.oschina.net/xsh1208/blog/505029

    展开全文
  • String数组转Long数组

    2020-08-21 17:44:28
    Long[] strArrNum = (Long[]) ConvertUtils.convert(String数组,Long.class);

    Long[] strArrNum = (Long[]) ConvertUtils.convert(String数组,Long.class);

    展开全文
  • IP6是128位的长度,一个long是64位的长度,2个long正好够一个IP... * 将 IPv6 地址转为 long 数组,只支持冒分十六进制表示法 */ public static long[] ip2Longs(String ipString) { if (ipString == null || ipS...

    IP6是128位的长度,一个long是64位的长度,2个long正好够一个IP6的长度位数。

    代码如下:

        /**
         * 将 IPv6 地址转为 long 数组,只支持冒分十六进制表示法
         */
        public static long[] ip2Longs(String ipString) {
            if (ipString == null || ipString.isEmpty()) {
                throw new IllegalArgumentException("ipString cannot be null.");
            }
            String[] ipSlices = ipString.split(":");
            if (ipSlices.length != 8) {
                throw new IllegalArgumentException(ipString + " is not an ipv6 address.");
            }
            long[] ipv6 = new long[2];
    
            for (int i = 0; i < 8; i++) {
                String slice = ipSlices[i];
                // 以 16 进制解析
                long num = Long.parseLong(slice, 16);
                // 每组 16 位
                long right = num << (16 * (8 - i - 1));
                // 每个 long 保存四组,i >> 2 = i / 4 ,i对4取余,其实就是前4个在数组0下标位置,后面4个在下标1位置。
                ipv6[i >> 2] |= right;
            }
            return ipv6;
        }
    
        /**
         * 将 long 数组转为冒分十六进制表示法的 IPv6 地址
         */
        public static String longs2Ip(long[] numbers) {
            if (numbers == null || numbers.length != 2) {
                throw new IllegalArgumentException(Arrays.toString(numbers) + " is not an IPv6 address.");
            }
            Joiner joiner = Joiner.on(":");
            StringBuilder sb = new StringBuilder();
            for (long numSlice : numbers) {
                String[] ip = new String[4];
                for (int j = 0; j < 4; j++) {
                    // 取最后 16 位
                    long current = numSlice & 0xFFFF;
                    ip[3 - j] = Long.toString(current, 16);
                    // 右移 16 位,即去除掉已经处理过的 16 位
                    numSlice >>= 16;
                }
                sb.append(joiner.join(ip)).append(":");
            }
            // 去掉最后的 :
            return sb.substring(0, sb.length() - 1);
        }

    对应的测试代码:

        @Test
        public void last() {
            turn("0:0:0:0:0:0:0:0");
            turn("0:0:0:0:0:0:0:1");
            turn("0:0:0:0:0:0:0:2");
            turn("0:0:0:0:0:0:0:3");
            turn("0:0:0:0:0:0:0:4");
            turn("0:0:0:0:0:0:0:5");
            turn("0:0:0:1:0:0:0:5");
            turn("0:0:0:2:0:0:0:5");
            turn("0:0:0:3:0:0:0:5");
            turn("0:0:0:4:0:0:0:5");
            turn("0:0:0:5:0:0:0:5");
            turn("0:0:0:f:0:0:0:F");
            turn("0:0:0:10:0:0:0:F");
        }
    
        private void turn(String ip6) {
            long[] longs = Tools.ip2Longs(ip6);
            System.out.println(Arrays.toString(longs));
            String s = Tools.longs2Ip(longs);
            System.out.println(s);
        }

    测试结果截图:

    使用的IP6都是比较简单的,目测都能算出来对应的数组是啥。

    追加的测试:

        /**
         * 下面几种形式的IP6都是合法的正确的IP地址
         */
        @Test
        public void isRightIp6() {
            List<String> ip6s = Lists.newArrayList("1::1",
                    "7654:0:ffff:7654:562:222:ab:ab2",
                    "7654:00:ffff:7654:562:222:ab:ab2",
                    "7654:000:ffff:7654:562:222:ab:ab2",
                    "7654:0000:ffff:7654:562:222:ab:ab2",
                    "::1",
                    "2001:0db8:85a3:000:0:8A2E::q");
            //是否是正确的IP6
            ip6s.forEach(s -> System.out.println(IPAddressUtil.isIPv6LiteralAddress(s)));
    
            //转成byte数组,一个byte是8个二进制位,一个IP6转成数组之后,数组length = 16,总位 128 = 8 * 16
            ip6s.forEach(s -> System.out.println(Arrays.toString(IPAddressUtil.textToNumericFormatV6(s))));
        }

    测试结果:

    可见IP6的写法是相当的花里胡哨。

    展开全文
  • 今天,我面临一个有趣的问题,我需要将原始的long数组(long [])转换为对象Long []。 首先,我认为Java JDK应该提供这种功能,但是我找不到它。 我必须使用for循环将其手动转换。 以下是掩护源代码。 long [] ...
  • object数组转换Long数组

    千次阅读 2017-11-15 12:44:13
    (Object[]) params.get("configLevelIds"));//它是一个object的数组Long[] vehicleIds = new Long[ ((Object[]) params.get(...//定义一个Long类型的数组 System.arraycopy((Object[]) params.get("confi
  • Long数组转String数组

    2018-10-18 10:46:00
    public static String[] longToString(Long longArray[]) { if (longArray == null || longArray.length < 1) { return null; } String stringArray[] = new Str...
  • Java中byte数组与long数组相互转化 ByteAndLongArrayTest代码如下: package com.array.test;import java.io.IOException;/*** @ version 1.0* @ author wangwei* @ created on 2008-10-17*/public class ...
  • String[] str = {"1","2"}; Long[] ids= (Long[])ConvertUtils.convert(str,Long.class); 传入其他封装类型即可随意转换
  • IP地址(IPV6)与long数组之间的转换

    千次阅读 2019-03-22 13:52:09
    IP地址(IPV6)与long数组之间的转换 一、前言 IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界...
  • postman传Long数组

    千次阅读 2020-07-20 13:41:11
    项目中要修改多条数据,参数类型为Long类型,研究了一会有了结果希望对各位有帮助 标题
  • long数组转换成string数组

    千次阅读 2017-08-08 11:03:03
    public static String[] longToString(long[] array){ if(array == null || array.length == 0) return null; String[] strArr = new String[array.length]; for(int i=0;i strArr[i] = String.valueOf(array[i]
  • java int数组转为long数组

    千次阅读 2014-05-13 18:02:54
    ArrayList brandIdArrayList = new ArrayList(); brandIdArrayList.add(12); brandIdArrayList.add(15); brandIdArrayList.add(18); ArrayList brandIDs = new ArrayList(); for (int i = 0;...
  • 如题,字符串数组str['11111111111','22222222222']如同这样,希望转换成Long型或者long型的数组,有什么好方法吗(当然一个个循环也是可以的)
  • List和Set转Long数组

    2019-09-30 03:49:46
    Set<User> a = c.getUsers(); Iterator<User> x = a.iterator(); users = new Long[a.size()]; while (x.hasNext()) { b = x.next(); users[i]=b.getId(); System.out.println(users[i]+...
  • long[] arr = new long[]{11,41,31,31}; //List<Long> list = Longs.asList(arr); //List list = Arrays.stream(arr).boxed().collect(Collectors.toList()); List list = Arrays.asList(arr); ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 多字节数据类型数组(double,float,int,long)数组数组和byte数组的相互转换都可以基于java.nio.Buffer实现. java.nio.DoubleBuffer对应double[], java.nio.FloatBuffer对应float[], java.nio.LongBuffer对应long[]...
  • 问题描述: 有long类型的数组 long[] a,如何转化为byte、int类型 byte[] b 问题泛化:如何把类型A的数组、集合(List、Map、Stack等)转化为类型B . import java.util.Arrays; public class Main { public ...
  • //定义字符串 String str = "1,3,6,9,4,2,1,6";...//转换long类型的数组 long[] strArrNum = (long[]) ConvertUtils.convert(strArr,long.class); 应用场景,如在设置后台管理权限角色时: ...
  • 最简单的依次遍历 太过简单就不说了 然后就是调用jar包 import org.apache.commons.beanutils.ConvertUtils; string a = "a,b,c,b" long[] arr =ConvertUtils.convert(a.split(","),long.class);
  • Java 将String型数组转换为Long数组

    千次阅读 2020-01-02 17:56:48
    Demo import org.apache.commons.beanutils.ConvertUtils; String str = "74820,74741,74675,74337,74335,74333,74298,74289,74244,74194,74164,74159,74157,74150,74148,74146,74133,74078,74046,74043,74040,7403...
  • // poj 2774 Long Long Message 后缀数组 // // 题目大意: // // 求两个串的最长公共子串. // // 解题思路: // // 后缀数组.将两个字符串用一个不出现在两个字符串的其他字符连接,并在最后 // 同样用一个字符作为...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 在项目中经常会遇到数组转集合、集合转数组、数组之间类型转换等操作   1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = {"1","2&...

空空如也

1 2 3 4 5 ... 20
收藏数 13,247
精华内容 5,298
关键字:

long数组