我现在正在与匈牙利人的一些数据工作.我必须对匈牙利语字符串列表进行排序.
匈牙利字母顺序为:A =Á,B,C,CS,D,DZ,DZS,E =É,F,G,GY,H,I =Í,J,K,L,LY,M,N,NY ,O =Ó,Ö=Ő,P,Q,R,S,SZ,T,TY,U =Ú,Ü=Ű,V,W,X,Y,Z,ZS
所以元音的处理方式相同(A =Á,...)所以在结果中你可以使用Collator:
Abdffg
Ádsdfgsd
Aegfghhrf
Run Code Online (Sandbox Code Playgroud)
到这里,没问题:)
但现在,我要求按照匈牙利字母排序
AÁBCCs D Dz DzsEÉFGGyHIÍJKLLy MN NyOÓÖŐP(Q)RS Sz T Ty UUÜV(W)(X)(Y)Z Zs
A被认为与Á不同
使用强度来Collator
改变输出中的顺序.A和Á仍然混在一起.
是否有根据匈牙利字母顺序对字符串列表进行排序的图书馆/技巧?
到目前为止我所做的是:
Collator
以便正确排序C/C,D,DZ,DZS ....对于任务没什么看起来太麻烦了?
List<String> words = Arrays.asList(
"Árfolyam", "Az",
"Állásajánlatok","Adminisztráció",
"Zsfgsdgsdfg", "Qdfasfas"
);
final Map<String, Integer> map = new HashMap<String, Integer>();
map.put("A",0);
map.put("Á",1);
map.put("E",2);
map.put("É",3);
map.put("O",4);
map.put("Ó",5);
map.put("Ö",6);
map.put("?",7);
map.put("U",8);
map.put("Ú",9);
map.put("Ü",10);
map.put("?",11);
final Collator c = …
Run Code Online (Sandbox Code Playgroud) 比方说我有一个功能move
.
现在,根据一些输入(假设输入显示"Move by 3"),我必须移动3次.
我会这样做:
move compose move compose move
Run Code Online (Sandbox Code Playgroud)
是否可以动态地进行功能组合?这样我就可以根据我必须移动的次数来构建我的新函数.
谢谢
我正在尝试使用alpakka kinesis连接器向Kinesis Stream发送消息,但我没有成功.我尝试了下面的代码,但我的流中没有任何内容.
implicit val sys = ActorSystem()
implicit val mat = ActorMaterializer()
implicit val kinesisAsync: AmazonKinesisAsync = AmazonKinesisAsyncClientBuilder.defaultClient()
val debug = Flow[PutRecordsRequestEntry].map { reqEntry =>
println(reqEntry)
reqEntry
}
val entry = new PutRecordsRequestEntry()
.withData(ByteBuffer.wrap("Hello World".getBytes))
.withPartitionKey(Random.nextInt.toString)
Source.tick(1.second, 1.second, entry).to(KinesisSink("myStreamName", KinesisFlowSettings.defaultInstance)).run()
// 2) Source.tick(1.second, 1.second,entry).via(debug).to(KinesisSink("myStreamName", inesisFlowSettings.defaultInstance)).run()
Run Code Online (Sandbox Code Playgroud)
Sink.foreach(println)
而不是每隔1秒KinesisSink
打印PutRecordsRequestEntry
=> EXPECTEDKinesisSink
,该条目仅生成一次.我究竟做错了什么 ?
我正在检查我的流,KinesisSource
并且正在读取工作(使用另一个流测试)
此外,AWS Kinesis的监控仪表板不会显示任何PUT请求.
注1:我尝试启用alpakka的调试日志,但没有效果
<logger name="akka.stream.alpakka.kinesis" level="DEBUG"/>
Run Code Online (Sandbox Code Playgroud)
在我的logback.xml
+根级别调试
感谢这个帖子,我从Akos Krivach的评论中听到了这个链接.
解决方案中的代码如下:
implicit def enhanceWithContainsDuplicates[T](s:List[T]) = new {
def containsDuplicates = (s.distinct.size != s.size)
}
assert(List(1,2,2,3).containsDuplicates)
assert(!List("a","b","c").containsDuplicates)
Run Code Online (Sandbox Code Playgroud)
我从未见过new
在此上下文中使用过该关键字.
任何人都可以告诉我它是如何工作的?这个模式有名字吗?
干杯
我看了一下scalaz教程.
从这个链接,我理解以下代码:
scala> def sum[A](xs: List[A])(implicit m: Monoid[A]): A = xs.foldLeft(m.mzero)(m.mappend)
sum: [A](xs: List[A])(implicit m: Monoid[A])A
scala> implicit val intMonoid = IntMonoid
intMonoid: IntMonoid.type = IntMonoid$@3387dfac
scala> sum(List(1, 2, 3, 4))
res9: Int = 10
Run Code Online (Sandbox Code Playgroud)
但我不明白以下代码:
scala> def sum[A: Monoid](xs: List[A]): A = {
val m = implicitly[Monoid[A]]
xs.foldLeft(m.mzero)(m.mappend)
}
sum: [A](xs: List[A])(implicit evidence$1: Monoid[A])A
scala> sum(List(1, 2, 3, 4))
res10: Int = 10
Run Code Online (Sandbox Code Playgroud)
如果我们考虑List(1, 2, 3, 4)
,A
是一个Int
.
那么怎样才能拥有A …
通过Twitter,我发现了博客文章.由于我目前正在探索Java 8,我尝试在其中运行示例.有一件事是我无法在示例中找到类Lists
(实现a map
):
Function<String, String> identity = (s -> s); // return the argument
List<String> ls = Arrays.asList("Alice", "Bob", "Christine");
List<String> l2 = Lists.map(ls, identity); // [Alice, Bob, Christine] <- the same thing!
Run Code Online (Sandbox Code Playgroud)
任何人都知道我可以在哪里找到它以使示例运行?
谢谢
我想提取ccadmin
的/ccadmin/hrp/filelist
?
我知道我可以使用最后一个子串
String uri = "/ccadmin/hrp/filelist";
String commandKey = uri.substring(uri.lastIndexOf("/") + 1, uri.length());
Run Code Online (Sandbox Code Playgroud)
但是如何提取第一个Substring ccadmin
?
我有一个查询,它给了我以下结果
FILE EVENT AMOUNT
File1 AP 26.96
File1 AP 26.96
File1 AP 26.96
Run Code Online (Sandbox Code Playgroud)
关于如何将结果分组2以便我可以拥有的任何想法
FILE EVENT AMOUNT
File1 AP 26.96
File1 AP 26.96
Run Code Online (Sandbox Code Playgroud)
如果我的原始查询返回4个结果,
FILE EVENT AMOUNT
File1 AP 26.96
File1 AP 26.96
File1 AP 26.96
File1 AP 26.96
Run Code Online (Sandbox Code Playgroud)
我想拥有
FILE EVENT AMOUNT
File1 AP 26.96
File1 AP 26.96
Run Code Online (Sandbox Code Playgroud)
执行上述操作的任何SQL关键字?
谢谢
scala ×3
java ×2
akka-stream ×1
alpakka ×1
collation ×1
comparator ×1
java-8 ×1
sql ×1
sql-server ×1
substring ×1
typeclass ×1