在java中如何读取文件里的内容和特定的值进行比较后存放到数据库? 5C

我先在这里说一下目前在做的这样一个功能:
读取以下内容类似的一个文件,然后通过=号分割,将分割后的值前面一部分以及后面一部分放在map里面,后添加到了一个List里面。
现在我是想要把这个读取后添加的List拿出来进行比较,通过取里面map的key来进行比较:如果是相同的,那就将val拿出来放到另外一个map里面,进行入库。

1.3.6.1.2.1.1.2.0 = 1.3.6.1.4.1.9.12.3.1.3.411
1.3.6.1.2.1.1.3.0 = 173 days, 10:36:40.88
1.3.6.1.2.1.1.4.0 =
1.3.6.1.2.1.1.5.0 = mds9140-h02-n18-1
1.3.6.1.2.1.1.6.0 =
1.3.6.1.2.1.1.7.0 = 70
1.3.6.1.2.1.2.2.1.1.16777216 = 16777216
1.3.6.1.2.1.2.2.1.1.16781312 = 16781312
1.3.6.1.2.1.2.2.1.1.16785408 = 16785408

以下是我读取的代码:
List fileList = getFileList();
List list = new ArrayList();
for (Object object : fileList) {
Map valMap = new HashMap();
Map map = (Map)object;

        String key = map.keySet().toString();
        String val = map.values().toString();
        val.replaceAll(" ", "");

        if(val!=null ){
            if(key.contains("1.3.6.1.2.1.1.5")){
                valMap.put("Name", val);
            }else if(key.contains("1.3.6.1.2.1.2.1")){
                valMap.put("portnumber", val);
            }else if(key.contains("1.3.6.1.2.1.2.2.1.1")){
                valMap.put("portindex", val);
            }else if(key.contains("1.3.6.1.2.1.31.1.1.1.1")){
                valMap.put("portfcvalue", val);
            }else if(key.contains("1.3.6.1.2.1.2.2.1.3")){
                valMap.put("porttype", val);
            }
            if(valMap != null && valMap.size()>0){
                list.add(valMap);
            }
        }
    }

    我写的这段代码,在匹配1.3.6.1.2.1.2.2.1.1 的时候回匹配到很多个,匹配的字符不止我写的这几个,还有很多,想请问下有没有什么简便方法用来比较字符后进行入库操作,还望大神指教,谢谢!!!

4个回答

package a;

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

import org.junit.Test;

public class A {

/** 文件的一行记录为一个对象 */
public class Line {
    public String key;
    public String val;
    public Line() {}
    public Line(String key, String val) {
        this.key = key;
        this.val = val;
    }
}

@Test
public void test() {
    //逐行读取文件, 每行保存为一个map(或者保存为一个对象), 读取文件的步骤省略, 以下为模拟读取文件过程
    //第一行
    Line line1 = new Line("a", "1");
    //第二行
    Line line2 = new Line("b", "2");
    //第三行
    Line line3 = new Line("a", "3");
    //第四行
    Line line4 = new Line("b", "4");
    //第五行
    Line line5 = new Line("a", "5");
    //文件内容
    List<Line> fileContent = new ArrayList<Line>();
    fileContent.add(line1);
    fileContent.add(line2);
    fileContent.add(line3);
    fileContent.add(line4);
    fileContent.add(line5);
    //模拟读取文件并存入集合结束

    //处理结果
    Map<String, List<String>> result = new HashMap<String, List<String>>();

    //处理过程
    for (Line line: fileContent) {
        //当前行的key
        String key = line.key;
        //结果中已经存在的key集合
        Set<String> keys = result.keySet();
        if (key!=null && !"".equals(key)) {
            //开关
            boolean flag = false;
            for (String k: keys) {
                if (key.equals(k)) {
                    flag = true;
                    break;
                }
            }
            if (flag) {//如果结果中存在相同的key, 将这一行的val添加到集合
                result.get(key).add(line.val);
            } else {//否则新建一个键值对
                List<String> list = new ArrayList<String>();
                list.add(line.val);
                result.put(key, list);
            }
        }
    }
    System.out.println("处理结果" + result);
}

}

控制台输出:处理结果{b=[2, 4], a=[1, 3, 5]}

楼主看看是否符合你的需求

出现你这种情况很正常啊,你先要搞清楚contains的定义,它是指前面的字符串包含后面的字符串就返回true,反之false,如果一个key包含1.3.6.1.2.1.2.2.1.1,那么它必然也包含1.3.6.1.2.1.2.1这样不就多添加了吗。

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**

  • @author 熊浪
  • @创建时间2016年9月26日
  • @Email xiongl@sunline
  • @此类的作用
    */
    public class Test {
    public static void main(String[] args){
    try {
    copyFileUsingFileStreams("D:/eclipse/1.txt");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    private static void copyFileUsingFileStreams(String path)
    throws IOException {

    InputStream input = null;
    InputStreamReader inputRead=null;
    BufferedReader read=null;
    String line="";//读取的每行数据
    Map map=new HashMap();
    try {
    input = new FileInputStream(new File(path));//字节流
    inputRead=new InputStreamReader(input);//字节流通向字符流的桥梁
    read = new BufferedReader(inputRead);//字符流

    while ((line=read.readLine())!= null) {//每次读取一行且读取的内容不为null
    map=getAllMap(map, line);//递归添加
    }
    List> list = getAllList(map);
    for (int i = 0,len=list.size(); i < len; i++) {
    //遍历map
    }
    } finally {
    input.close();
    }
    }

    private static Map getAllMap(Map map,String line){
    String[] strs = line.split("=");
    if(strs[1]!=null || !" ".equals(strs[1])){//去掉val是" "的。
    map.put(strs[0], strs[1]);
    }
    return map;
    }

    private static List> getAllList(Map map){
    List> list = new ArrayList>();
    Map valMap = new HashMap();
    Set keys = map.keySet();
    Iterator it = keys.iterator();
    String key="",val="";
    while(it.hasNext()){
    key=it.next();
    val=map.get(key);
    if(key.length()>="1.3.6.1.2.1.1.5".length() && key.contains("1.3.6.1.2.1.1.5")){
    valMap.put("Name", val);
    }else if(key.length()>="1.3.6.1.2.1.2.1".length() && key.contains("1.3.6.1.2.1.2.1")){
    valMap.put("portnumber", val);
    }else if(key.length()>="1.3.6.1.2.1.2.2.1.1".length() && key.contains("1.3.6.1.2.1.2.2.1.1")){
    valMap.put("portindex", val);
    }else if(key.length()>="1.3.6.1.2.1.31.1.1.1.1".length() && key.contains("1.3.6.1.2.1.31.1.1.1.1")){
    valMap.put("portfcvalue", val);
    }else if(key.length()>="1.3.6.1.2.1.2.2.1.3".length() && key.contains("1.3.6.1.2.1.2.2.1.3")){
    valMap.put("porttype", val);
    }
    if(valMap != null && valMap.size()>0){
    list.add(valMap);
    }
    }
    return list;
    }
    }

xionglangs
编程爱好者熊浪 搞错了,不是长度大一些,应该用你这几个确定的字符串两两中间的长度。
接近 3 年之前 回复

1.3.6.1.2.1.2.2.1.1.16777216 = 16777216
1.3.6.1.2.1.2.2.1.1.16781312 = 16781312
1.3.6.1.2.1.2.2.1.1.16785408 = 16785408
这三个里面都同时包含1.3.6.1.2.1.2.2.1.1,contains是包含的意思*1.3.6.1.2.1.2.2.1.1*,如果字符串是固定的可以用equals去判断

楼主的意思是想少写if else? 那么可以把你要匹配的字符串用mpa存起来循环map来匹配.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java遍历服务器里的所有excel文件读取特定单元格的值,循环读取文件的代码怎么写
-
java读取特定格式的文件内容,并存到list列表中
-
急 在线等 谢谢!java想要读取excel中某以特定单元格的值,现在是循环读出所有的值,请帮忙修改一下
-
java读写文件的问题
-
在java.io中怎么实现文件内容的部分修改
-
关于spark离线程序读写本地文件的问题
-
JAVA怎么从特定【行】开始读字串?
-
JAVA 编程一个英英词典 不用GUI
-
急!在线等!谢谢!java将excel特定的单元格写入另一个excel,已经读出来了,不会写入
-
javaIO流的问题,求解答
-
jar包在ide里面运行正常,使用cmd指令运行却卡死了
-
Hibernate+Spring怎么lazy处理BLOB字段
-
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、算法 11、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收...
史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 ~中招了咩~ ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不会有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不会撸idea!最后,本文
我的 Input框 不可能这么可爱
作者:陈大鱼头 github: KRISACHAN &lt;input /&gt; 标签是我们日常开发中非常常见的替换元素了,但是最近在刷 whattwg 跟 MDN 的时候发现 跟 &lt;input /&gt; 有很多相关的属性,选择器都没怎么用过,所以就开篇文章来整理一下一些比较有趣或者实用的知识点。 本篇文章默认大家已经知道 &lt;input /&gt; 标签的基本用法,不会做过...
如何优雅的爬妹子网
from urllib import request import os from user_agents import ua_list import time import random import re import requests from lxml import etree class MeiziSpider(): def init(self): self.url = ‘https:/...
Spring高级技术梳理
Spring高级技术梳理 序言正文SpringDate部分Spring全家桶之SpringData——预科阶段Spring全家桶之SpringData——Spring 整合Hibernate与Hibernate JpaSpring全家桶之SpringData——Spring Data JPASpring全家桶之SpringData——SpringData RedisSpringBoot部分Sp...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
linux:最常见的linux命令(centOS 7.6)
最常见,最频繁使用的20个基础命令如下: 皮一下,这都是干货偶,大佬轻喷 一、linux关机命令: 1.shutdown命令安全地将系统关机(推荐)参数说明: [-r] 重启计算器。 [-h] 关机后关闭电源〔halt〕。 [-c] cancel current process取消目前正在执行的关机程序。 [-time] 设定关机〔shutdown〕前的时间。 shutdown -h now ...
java学习路线导航【教学视频+博客+书籍整理】
在博主认为,学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,博主将为各位保驾护航,各位赶紧冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 Java基础教学视频 Java零基础教程视频(适合Java 0基础,Java初学入门)【推荐】 JavaSE进阶入门项目实战视频教程_动力节点【推荐】 毕向东Java基础视频教程...
史上最全的mysql基础教程
启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server resta...
为什么你学不会递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
最近程序员频繁被抓,如何避免面向监狱编程!?
最近,有关程序员因为参与某些项目开发导致被起诉,甚至被判刑的事件发生的比较多: 某程序员因为接了个外包,帮别人写了个软件,结果这个软件被用于赌博导致被抓。 某公司利用爬虫抓取用户信息,最后被发现,导致该公司的程序员被抓。 某P2P公司暴雷,老板跑路,程序员被抓。 中科大博士卖“外挂”非法牟利300多万,被警方逮捕。 那么,作为一个程序员,如何避免这些坑呢?怎样尽可能的保护自己呢? 本文就从爬虫、赌...
Linux系统常见命令
###Linux基本命令 Linux系统经典语录: 命令操作完没有任何消息信息, 就是最好的消息 系统一切从根开始 系统中数据一切皆文件 一 .Linux系统命令结构 命令 +空格+条件/参数+空格+对象/目录/文件 例如:rm -f /oldboy 二 .关机或重启命令 shutdown命令 [-r] 重新启动 [-h] 关机 [-c] 取消关机/重启 [-t] ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
在分享之前,先说说初学者如何学习编程,这个话题想必非常的重要,要学好编程,给你一些学习网站也好、实用工具也好,但前提是你知道如何去学习它。 见过很多初学者,以及小鹿我刚开始学习的时候,也是自己瞎摸索,找不到路子,看什么书?看什么资料?编程的方向太多了,如果确定自己的方向?尤其是上大一、大二甚至大三还没有确定自己到底是学习前端还是后天,每天这学一点,那学一块,掌握那么多,没有一门精通的,去面试的时候...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
死磕C语言指针
兜兜转转还是逃不过 C 语言,这该死的缘分。 先看一眼我的西野七濑 学习自:https://zhuanlan.zhihu.com/p/89121683 1 指针 1.1 指针是乜嘢 指针(pointer):一个值为内存地址的变量。 char 类型变量的值是字符,int 类型变量的值是整数,指针变量的值是地址。 1.2 指针的声明 数据类型 *指针名,这里的 * 表明声明的变量是...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长 ...
2019年11月中国编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
机械转行java自学经历,零基础学java,血泪总结的干货
机械转行java自学经历,零基础学java,血泪总结的干货 据说,再恩爱的夫妻,一生中都有100次想离婚的念头和50次想掐死对方的冲动。 求职路上亦是如此,打开这篇文章,相信你也有转行的想法。和身边的朋友聊过,入职后的他们,或多或少对现在的职位都有些不满,都有过转行的冲动。 可他们只是想,而我真的这样做了。 下面就介绍下我转行的血泪史。 我为什么要转行 高中复读了一年,考了个双非院校的机械。当时...
python学习目录
这是我学习python的一套流程,从入门到上手 一、Python入门、环境搭建、变量、数据类型 二、Python运算符、条件结构、循环结构 三、Python函数 四、做一次综合练习,做一个控制台的员工管理 """ 需求:员工管理系统 功能: 1.添加员工信息 2.删除员工信息 3.修改员工信息 4.查看单个员工信息 5.查看所有员工信息 6.退出 技术:函数、数据类型(字典列表)、循环、条...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
2019年18家大厂Java面试题整理了350道(分布式+微服务+高并发+性能调优+框架源码)
前言 2019年还有不到2个月的时间就结束了,这一你,你收获了多少? 前段时间一直有粉丝问我,有没有今年一些大厂Java面试题总结?最新抽时间整理了一些,分享给大家,大家一起共享学习! 一、性能调优系列 1.Tomcat性能调优 JVM参数调优: -Xms&lt;size&gt; 表示JVM初始化堆的大小,一Xmx&lt;size&gt;表示JVM堆的最大值。这两个值的大小一般...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
五个简单的 SQL 查询性能测试题,只有 40% 及格率。你敢来挑战吗?
五个简单的 SQL 查询性能测试题,只有 40% 及格率。你敢来挑战吗?
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
如何理解并掌握 Java 数据结构
Jack和大家一起来重温《Java数据结构》经典之作。 第一部分:Java数据结构 要理解Java数据结构,必须能清楚何为数据结构? 数据结构: Data_Structure,它是储存数据的一种结构体,在此结构中储存一些数据,而这些数据之间有一定的关系。 而各数据元素之间的相互关系,又包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。 而一个数据结构的设计过程分成抽象层、数据结...
shell一文入门通
简单来说“Shell编程就是对一堆Linux命令的逻辑化处理”。 W3Cschool 上的一篇文章是这样介绍 Shell的 hello world 学习任何一门编程语言第一件事就是输出HelloWord了!下面我会从新建文件到shell代码编写来说下Shell 编程如何输出Hello World。 (1)新建一个文件 helloworld.sh :touch helloworld.sh,扩...
看动画轻松理解「递归」与「动态规划」
在学习「数据结构和算法」的过程中,因为人习惯了平铺直叙的思维方式,所以「递归」与「动态规划」这种带循环概念(绕来绕去)的往往是相对比较难以理解的两个抽象知识点。 程序员小吴打算使用动画的形式来帮助理解「递归」,然后通过「递归」的概念延伸至理解「动态规划」算法思想。 什么是递归 先下定义:递归算法是一种直接或者间接调用自身函数或者方法的算法。 通俗来说,递归算法的实质是把问题分解成规模缩小的同类问题...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
相关热词 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c#输入double值 c# fir 滤波器 c# 和站 队列 c#控制某个usb口开关 c# txt 去空格 c# list 批量修改
立即提问