学生和课程有两个普通对象,如下所示:
public class Student {
List<Course> courses;
...
}
public class Course {
String name;
...
}
Run Code Online (Sandbox Code Playgroud)
如果我们有一个list的Students,我们怎么能由他们的课程名称进行筛选一些学生的?
flatMap回答这个问题,但它返回课程对象而不是学生对象.allMatch(以下代码).但它会返回学生列表,但List始终为空.问题是什么?List<Student> studentList;
List<Student> AlgorithmsCourserStudentList = studentList.stream().
filter(a -> a.stream().allMatch(c -> c.getCourseName.equal("Algorithms"))).
collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud) 我想使用java 8流方法从列表中获取最大值.
结构如下:
Round.Round对象都存储在一个ArrayList被调用的中arrRoundRound对象都有一个字段:List<Hit> hitsHit由2个字段组成:int numberOfGames和int prizeAmountpublic class Round{
private List<Hits> hits;
}
public class Hits{
private int numberOfGames;
private int prizeAmount;
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是迭代所有元素arrRound,获取他们的命中字段的getPrizeAmount()方法并获得最大值.我开始如下,但似乎无法做到:
public class Main(){
public void main(String[]args){
List<Round> arrRound = getRoundFromCSV();
int maxPrize = arrRound.stream()
.forEach(round -> {
round.getHits()
.forEach(hit -> hit.getPrizeAmount());
});
}
}
Run Code Online (Sandbox Code Playgroud)
而且我无法在声明的末尾调用max().
提前谢谢你的帮助!
如何创建256位全部设置的BigInteger?我已经尝试过以下方法:
BigInteger.valueOf(0xFFFFFFFFFFFFFFFFL)
Run Code Online (Sandbox Code Playgroud)
但它没有给我预期的结果:
int bitCount = b.bitCount();// 0
int bitLength = b.bitLength();// 0
Run Code Online (Sandbox Code Playgroud)
我基本上需要的是一个包含256位的数字,这些数字都已设置.
TNX!
我有一个enum性别的类人员,在Person Constructor中我想初始化性别和年龄.如何在main()方法中实例化一个新Person?
class Person {
public enum Gender { M,F }
int age;
Gender gender;
public Person(int age, Gender gender) {
this.age=age; this.gender=gender;
}
}
public static void main(String[] args) {
Person p = new Person(20, ?);
}
Run Code Online (Sandbox Code Playgroud)
最好的祝福.
在使用java时我遇到了一个奇怪的情况,让我们先从代码开始.
public static String constructMessage(final String reason, final String xId,
final String yId, final IonStruct metadataStruct) throws DataSanityException {
String message = "";
switch (reason) {
case "NOT_ACTIVE":
if (xId != null) {
message = String.format("Y %s X %s not active: status is inactive%n", yId, xId);
} else {
message = String.format("Y %s not active: status is inactive%n", yId);
}
break;
case "PRICE_GONE":
if (metadataStruct.containsKey("applied")) {
final String applied = metadataStruct.get("applied");
if (applied.equals("single")) {
message = String.format("X %s is not …Run Code Online (Sandbox Code Playgroud) 我正在努力将字符串对象从 source(Relation.class) 映射到目标列表(RelationListDTO.class) 。
关系.java
public class Relation {
private String name;
private String email;
private String completeAddress;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
关系列表DTO.java
public class RelationListDTO {
private String name;
private String email;
private List<Address> address;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
地址.java
public class Address{
private String street;
private String city;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
映射器类
@映射器
public interface RelationMapper {
@Mapping(source = "completeAddress", target = "address.get(0).city")
RelationListDTO relationToListDto(Relation relation);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。有人可以帮忙吗?
我正在编写一个包含许多步骤的工作流,比如 100。在每个步骤之后,我想检查一个条件是否为真,如果为真,则跳过所有步骤并转到“下一个级别”。如果它一直走到第 100 步,那么也转到“下一级”。
我可以考虑使用 1 次迭代的 for 循环
for i in range(1):
step1()
if condition:
break
step2()
if condition:
break
...
step100()
next level()
Run Code Online (Sandbox Code Playgroud)
这看起来不错,但是有没有更好的方法没有循环并next level直接跳转到?如果在这些步骤中再次出现这种结构会很有帮助,而且我不想打破多层循环来获得next level
我需要按照这些单词在模式数组中的顺序对一串单词进行排序:
String[] pattern = {"Burger", "Fries", "Chicken", "Pizza", "Sandwich", "Onionrings", "Milkshake", "Coke"};
String s = "Chicken Coke Chicken Chicken Onionrings Coke Burger Milkshake Milkshake Burger Coke Milkshake Burger Onionrings Onionrings Coke Chicken Burger Fries Milkshake"; // input string
Run Code Online (Sandbox Code Playgroud)
预计
"Burger Burger Burger Burger Fries Chicken Chicken Chicken Chicken Onionrings Onionrings Onionrings Milkshake Milkshake Milkshake Milkshake Coke Coke Coke Coke" // output string
Run Code Online (Sandbox Code Playgroud) 我的数据框如下所示
col1 col2 col3
0 [1, a] [1, a1] [1, a2]
1 [2, b] [2, b1] [2, b2]
2 [3, c] [3, c1] [3, c2]
Run Code Online (Sandbox Code Playgroud)
我需要让它看起来像:
col1 col2 col3 col4
0 a a1 a2 1
1 b b1 b2 2
2 c c1 c2 3
Run Code Online (Sandbox Code Playgroud)
我的代码
import pandas as pd
d = {'col1':[[1,'a'],[2,'b'],[3,'c']],
'col2':[[1,'a1'],[2,'b1'],[3,'c1']],
'col3':[[1,'a2'],[2,'b2'],[3,'c2']]}
df = pd.DataFrame.from_dict(d)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试使用 apply(pd.Series) 并通过 for 循环迭代来重新分配值,但没有成功
两个线程需要按此顺序打印-
Thread1:0
Thread2:::0
Thread1:1
Thread2:::1
Thread1:2
Thread2:::2
Thread1:3
Thread2:::3
Thread1:::4
Thread2:::4
.
.
.
Thread1:100
Thread2:::100
...
Run Code Online (Sandbox Code Playgroud)
目前这是我的代码,不知何故它卡住了。. 不知道为什么它没有按预期运行
public class Solution{
private volatile boolean isOneTurn;
public Solution(){
isOneTurn = true;
}
public void test(){
Thread t1 = new Thread(new MyThread1("Thread1"));
Thread t2 = new Thread(new MyThread2("Thread2"));
t1.start();
t2.start();
}
class MyThread1 implements Runnable {
public String name;
public MyThread1(String name) {
this.name = name;
}
@SneakyThrows
@Override
public void run() {
for (int i = 1; i <= 100; …Run Code Online (Sandbox Code Playgroud) java ×8
java-8 ×3
java-stream ×2
python ×2
biginteger ×1
collections ×1
constructor ×1
dataframe ×1
enums ×1
lambda ×1
mapping ×1
mapstruct ×1
max ×1
methods ×1
oop ×1
pandas ×1