我有ArrayList以下字符串;
List<String> e = new ArrayList<String>();
e.add("123");
e.add("122");
e.add("125");
e.add("123");
Run Code Online (Sandbox Code Playgroud)
我想检查列表中的重复项并将其从列表中删除.在这种情况下,我的列表将只有两个值,在这个例子中,它将是值122和125,并且两个123将消失.
最好的方法是什么?我正在考虑使用a Set,但这只会删除其中一个副本.
我正在使用Java HBase API从Hbase获取值.这是我的代码.
public class GetViewFromHbaseBolt extends BaseBasicBolt {
private HTable table;
private String zkQuorum;
private String zkClientPort;
private String tableName;
public GetViewFromHbaseBolt(String table, String zkQuorum,
String zkClientPort) {
this.tableName = table;
this.zkQuorum = zkQuorum;
this.zkClientPort = zkClientPort;
}
@Override
public void prepare(Map config, TopologyContext context) {
try {
table = getHTable();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void execute(Tuple tuple, BasicOutputCollector collector) {
try {
if (tuple.size() > 0) {
Long dtmid = tuple.getLong(0);
byte[] …Run Code Online (Sandbox Code Playgroud) 我有一个带有一些字符串的ArrayList.我想将ArrayList中的数字列表存储在由逗号分隔的单个字符串中,如下所示.
String s = "350000000000050287,392156486833253181,350000000000060764"
Run Code Online (Sandbox Code Playgroud)
这是我的清单:
List<String> e = new ArrayList<String>();
e.add("350000000000050287");
e.add("392156486833253181");
e.add("350000000000060764");
Run Code Online (Sandbox Code Playgroud)
我一直试图通过以下方式实现:
StringBuilder s = new StringBuilder();
for (String id : e){
s.append(id+",");
}
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,这会在最后添加一个逗号,我不希望这样.最好的方法是什么?
谢谢
我是Android开发的新手,我对Fragments和Master-Detail Android之间的区别有点困惑.他们完成不同的事情吗?他们有关系吗?
我想提取company_id:零件后的所有数字并存储在变量中.我的字符串看起来如下.
String company ="{\"company_id\":4100\"data\" \"drm_user_id\":572901936637129135\"company_id\":3070,\"data\",\"company_id\":4061,\"data\"}"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,正则表达式将提取号码4100,3070和4061.我的字符串上还有很多其他数字,我只是没有包含它们以节省空间.我想要的数字将是唯一的4位数字,并且将始终位于该company_id:部分之后.我尝试了以下内容
Pattern pattern = Pattern.compile("(\\d{4})");
Matcher matcher = pattern.matcher(company);
Run Code Online (Sandbox Code Playgroud)
但是,这只返回第一个数字而不是其他两个数字.
我正在尝试从UTC时区截断毫秒。
我有下面的代码,我可以删除毫秒,但Z最后我仍然得到。
OffsetDateTime now = OffsetDateTime.now(ZoneOffset.UTC );
OffsetDateTime eventDateTime=now.minus(4, ChronoUnit.MINUTES);
System.out.println("====Event date Time before truncate===");
System.out.println(eventDateTime);
System.out.println("====Event date Time after truncate===");
System.out.println(eventDateTime.truncatedTo(ChronoUnit.SECONDS));
Run Code Online (Sandbox Code Playgroud)
输出如下:
====事件日期截断前的时间===
2021-03-09T20:46:24.081Z====事件日期截断后的时间===
2021-03-09T20:46:24Z