小编Ora*_*cle的帖子

Golang:从文本文件中替换字符串中的换行符的问题

我一直试图读取一个文件,然后将读取的材料放入一个字符串中.然后字符串将逐行分成多个字符串:

absPath, _ := filepath.Abs("../Go/input.txt")
data, err := ioutil.ReadFile(absPath)
if err != nil {
    panic(err)
}
input := string(data)
Run Code Online (Sandbox Code Playgroud)

input.txt读作:

一个

强壮的小鸟

非常

宽容的心

有一天去学校

忘记了他的食物

然而,

re = regexp.MustCompile("\\n")
input = re.ReplaceAllString(input, " ")
Run Code Online (Sandbox Code Playgroud)

将文本变成了一个乱七八糟的混乱:

他的食物atot

我不确定如何更换新行会如此糟糕到文本反转的程度

string newline file input go

13
推荐指数
2
解决办法
2万
查看次数

按第一个元素对元组列表进行分组

假设我有一个包含的元组列表 [("ab", 1), ("ab", 2), ("ac", 3)]

使用该group函数会将此列表拆分为元组列表列表,如下所示:

[
  [("ab", 1)],
  [("ab", 2)],
  [("ac", 3)]
]
Run Code Online (Sandbox Code Playgroud)

如何将元组分组,忽略其中一个索引,以便根据其中一个元素对它们进行分组:

[
  [("ab", 1), ("ab", 2)],
  [("ac", 3]
]
Run Code Online (Sandbox Code Playgroud)

groupBy在这种情况下是否需要该功能?

grouping haskell tuples list

6
推荐指数
1
解决办法
1541
查看次数

Java:将元素的数组/列表拆分为相等元素的子列表

给定这样的排序列表:

List<Integer> a = Arrays.asList(1, 1, 1, 2, 4, 5, 5, 7);

是否有单行方式将此数组拆分为子列表,每个子列表包含相等值的元素,例如:

List[List[1, 1, 1], List[2], List[4], List[5, 5], List[7]]

java split list

2
推荐指数
1
解决办法
33
查看次数

如何使JavaFX时间轴增加一秒并绑定到Progressbar?

我正在尝试创建一个系统,其中使用时间线记录一分钟的持续时间。在这种情况下,我希望时间轴每秒增加一次,并让进度条在调用操作和重置时间轴之前的1分钟内记录下来。

final Timeline timeline = new Timeline();
timeline.setCycleCount(Animation.INDEFINITE);
timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(1)));
progress.progressProperty().bind(timeline.getTotalDuration()???);
timeline.play();
Run Code Online (Sandbox Code Playgroud)

我已将周期数设置为不确定,以便时间轴周期永远不会停止。我还尝试了将Progressbar属性绑定到时间轴,但是它需要Observablevalue来实现,timeline#getTotalDuration但没有提供。

我试过在单独的线程上运行而没有绑定的程序:

new Thread(new Task<Void>() {
            @Override
            protected Void call() throws Exception {
                while(true){
                    System.out.printf("s:\t%f\n",timeline.getTotalDuration().toSeconds());
                    Thread.sleep(1000);
                }
            }
}).start();
Run Code Online (Sandbox Code Playgroud)

但是,运行此命令不会增加每秒的计时器,而只会一次完成所有周期。由于我设置的cycleCount为INDEFINITE,因此结果#totalDurationinfinite

我如何才能使时间轴每秒工作,如何将持续时间绑定到进度栏,直到达到100%,以便可以调用我的特殊操作?

java javafx

1
推荐指数
1
解决办法
2523
查看次数

Java:将List &lt;List&gt;转换为地图

给定一个唯一值子列表的列表(也就是说,两个不同的子列表不能共享相同值的元素)-例如:

List[List[1, 1, 1], List[2], List[4, 4], List[7]]

如何将其转换为具有(值,大小)键值对的Map?

这将导致:

{
  1 : 3
  2 : 1
  4 : 2
  7 : 1
}
Run Code Online (Sandbox Code Playgroud)

将List定义为values,我假设人们可以使用流并这样收集Map:

values.stream().collect(Collectors.toMap(Integer::intValue, ? ));

当前不确定要为第二个参数输入什么,因为它需要a,value mapper但不允许.size()在任何子列表上调用。

java dictionary java-stream

0
推荐指数
1
解决办法
77
查看次数

标签 统计

java ×3

list ×2

dictionary ×1

file ×1

go ×1

grouping ×1

haskell ×1

input ×1

java-stream ×1

javafx ×1

newline ×1

split ×1

string ×1

tuples ×1